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 51*6306068fSMatthias Ringwald #ifndef UNUSED 52f3963406SMatthias Ringwald #define UNUSED(x) (void)(sizeof(x)) 53*6306068fSMatthias 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 120941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors 121941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED 0x50 122941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH 0x51 123941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED 0x52 124941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN 0x53 125941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED 0x54 126941b3855SMatthias Ringwald #define BTSTACK_BUSY 0x55 127941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED 0x56 128941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL 0x57 129941b3855SMatthias Ringwald 130941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them 131941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60 132941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61 133941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62 134941b3855SMatthias Ringwald 135941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL 0x63 136941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING 0x64 137941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM 0x65 138941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY 0x66 139941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67 140941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT 0x68 141941b3855SMatthias Ringwald 142941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED 0x69 143941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU 0x6A 1447e8856ebSMatthias Ringwald #define L2CAP_SERVICE_DOES_NOT_EXIST 0x6B 14594530c77SMatthias Ringwald #define L2CAP_LOCAL_CID_DOES_NOT_EXIST 0x6C 146941b3855SMatthias Ringwald 147941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED 0x70 148941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED 0x71 149941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS 0x72 150941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF 0x73 151941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU 0x74 152941b3855SMatthias Ringwald 153941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED 0x80 154941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE 0x81 155941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND 0x82 156941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID 0x83 157e5057641SMatthias Ringwald #define SDP_QUERY_BUSY 0x84 158941b3855SMatthias Ringwald 159941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS 0x90 160941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT 0x91 161941b3855SMatthias Ringwald 162941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED 0x93 163941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY 0x94 164616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE 0x95 165616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96 166616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG 0x97 167616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98 168616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED 0x99 169941b3855SMatthias Ringwald 170941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED 0xA0 171941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED 0xA1 172941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU 0xA2 173941b3855SMatthias Ringwald 17462c64df1SMatthias Ringwald // DAEMON COMMANDS 175b3f90e25SMatthias Ringwald 176b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d 177b3f90e25SMatthias Ringwald 178b3f90e25SMatthias Ringwald // cmds for BTstack 179b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE 180b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE 0x01 181b3f90e25SMatthias Ringwald 182045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE 183b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE 0x02 184b3f90e25SMatthias Ringwald 185045013feSMatthias Ringwald // set capture mode: param on 186b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE 0x03 187b3f90e25SMatthias Ringwald 188b3f90e25SMatthias Ringwald // get BTstack version 189b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION 0x04 190b3f90e25SMatthias Ringwald 191b3f90e25SMatthias Ringwald // get system Bluetooth state 192b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED 0x05 193b3f90e25SMatthias Ringwald 194b3f90e25SMatthias Ringwald // set system Bluetooth state 195b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED 0x06 196b3f90e25SMatthias Ringwald 197b3f90e25SMatthias Ringwald // enable inquiry scan for this client 198b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE 0x07 199b3f90e25SMatthias Ringwald 200b3f90e25SMatthias Ringwald // set global Bluetooth state 201b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED 0x08 202b3f90e25SMatthias Ringwald 203045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16) 204b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL 0x20 205b3f90e25SMatthias Ringwald 206045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8) 207b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT 0x21 208b3f90e25SMatthias Ringwald 209045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16) 210b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE 0x22 211b3f90e25SMatthias Ringwald 212045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16) 213b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE 0x23 214b3f90e25SMatthias Ringwald 215045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16) 216b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION 0x24 217b3f90e25SMatthias Ringwald 218045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8) 219b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION 0x25 220b3f90e25SMatthias Ringwald 221045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16) 222b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU 0x26 223b3f90e25SMatthias Ringwald 224b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size) 225b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD 0x30 226b3f90e25SMatthias Ringwald 227b3f90e25SMatthias Ringwald // unregister SDP Service Record 228b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD 0x31 229b3f90e25SMatthias Ringwald 230b3f90e25SMatthias Ringwald // Get remote RFCOMM services 231b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES 0x32 232b3f90e25SMatthias Ringwald 233b3f90e25SMatthias Ringwald // Get remote SDP services 234b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES 0x33 235b3f90e25SMatthias Ringwald 236b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands 237b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL 0x40 238b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT 0x41 239b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE 0x42 240b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE 0x43 241b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION 0x44 242b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION 0x45 243b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL 0x46 244b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS 0x47 245b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48 246b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS 0x49 247b3f90e25SMatthias Ringwald 248b3f90e25SMatthias Ringwald // GAP Classic 0x50 249b3f90e25SMatthias Ringwald #define GAP_DISCONNECT 0x50 250b3f90e25SMatthias Ringwald 251b3f90e25SMatthias Ringwald // GAP LE 0x60 252b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START 0x60 253b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP 0x61 254b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT 0x62 255b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL 0x63 256b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS 0x64 257b3f90e25SMatthias Ringwald 258b3f90e25SMatthias Ringwald // GATT (Client) 0x70 259b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES 0x70 260b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16 0x71 261b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128 0x72 262b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE 0x73 263b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE 0x74 264b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128 0x75 265b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS 0x76 266b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC 0x77 267b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC 0x78 268b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE 0x79 269b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC 0x7A 270b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7B 271b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7C 272b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR 0X7D 273b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR 0X7E 274b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR 0X7F 275b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR 0X80 276b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION 0X81 277b3f90e25SMatthias Ringwald #define GATT_GET_MTU 0x82 278b3f90e25SMatthias Ringwald 279f1b34e8dSMatthias Ringwald // OBEX ERRORS 280f1b34e8dSMatthias Ringwald #define OBEX_UNKNOWN_ERROR 0x90 281f1b34e8dSMatthias Ringwald #define OBEX_CONNECT_FAILED 0x91 282f1b34e8dSMatthias Ringwald #define OBEX_DISCONNECTED 0x92 283f1b34e8dSMatthias Ringwald #define OBEX_NOT_FOUND 0x93 28462c64df1SMatthias Ringwald 285941b3855SMatthias Ringwald // EVENTS 286941b3855SMatthias Ringwald 287941b3855SMatthias Ringwald /** 288941b3855SMatthias Ringwald * @format 1 289941b3855SMatthias Ringwald * @param state 290941b3855SMatthias Ringwald */ 291941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE 0x60 292941b3855SMatthias Ringwald 29352aef63fSMatthias Ringwald /** 29452aef63fSMatthias Ringwald * @format 1 29552aef63fSMatthias Ringwald * @param number_connections 29652aef63fSMatthias Ringwald */ 297941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 0x61 298941b3855SMatthias Ringwald 299941b3855SMatthias Ringwald /** 300941b3855SMatthias Ringwald * @format 301941b3855SMatthias Ringwald */ 302941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED 0x62 303941b3855SMatthias Ringwald 304941b3855SMatthias Ringwald /** 305827b1c43SMatthias Ringwald * @format 1 306827b1c43SMatthias Ringwald * @param discoverable 307827b1c43SMatthias Ringwald */ 308827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED 0x66 309827b1c43SMatthias Ringwald 310827b1c43SMatthias Ringwald // Daemon Events 311827b1c43SMatthias Ringwald 312827b1c43SMatthias Ringwald /** 313941b3855SMatthias Ringwald * @format 112 314941b3855SMatthias Ringwald * @param major 315941b3855SMatthias Ringwald * @param minor 316941b3855SMatthias Ringwald @ @param revision 317941b3855SMatthias Ringwald */ 318827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION 0x63 319941b3855SMatthias Ringwald 320941b3855SMatthias Ringwald // data: system bluetooth on/off (bool) 321e2334cdcSMatthias Ringwald /** 322e2334cdcSMatthias Ringwald * @format 1 323e2334cdcSMatthias Ringwald * param system_bluetooth_enabled 324e2334cdcSMatthias Ringwald */ 325827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 0x64 326941b3855SMatthias Ringwald 327941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes) 328e2334cdcSMatthias Ringwald 329e2334cdcSMatthias Ringwald /* 330e2334cdcSMatthias Ringwald * @format 1BT 331e2334cdcSMatthias Ringwald * @param status == 0 to match read_remote_name_request 332e2334cdcSMatthias Ringwald * @param address 333e2334cdcSMatthias Ringwald * @param name 334e2334cdcSMatthias Ringwald */ 335827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED 0x65 336941b3855SMatthias Ringwald 33762c64df1SMatthias Ringwald // internal - data: event(8) 338e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED 0x67 339941b3855SMatthias Ringwald 34062c64df1SMatthias Ringwald // internal - data: event(8) 341e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED 0x68 342941b3855SMatthias Ringwald 34362c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8) 34462c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS 0x74 34562c64df1SMatthias Ringwald 34662c64df1SMatthias Ringwald /** 34762c64df1SMatthias Ringwald * @format 12 34862c64df1SMatthias Ringwald * @param status 34962c64df1SMatthias Ringwald * @param psm 35062c64df1SMatthias Ringwald */ 35162c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 0x75 35262c64df1SMatthias Ringwald 35362c64df1SMatthias Ringwald /** 35462c64df1SMatthias Ringwald * @format 21 35562c64df1SMatthias Ringwald * @param rfcomm_cid 35662c64df1SMatthias Ringwald * @param credits 35762c64df1SMatthias Ringwald */ 35862c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS 0x84 35962c64df1SMatthias Ringwald 36062c64df1SMatthias Ringwald /** 36162c64df1SMatthias Ringwald * @format 11 36262c64df1SMatthias Ringwald * @param status 36362c64df1SMatthias Ringwald * @param channel_id 36462c64df1SMatthias Ringwald */ 365fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 0x85 366fea5a680SMatthias Ringwald 36762c64df1SMatthias Ringwald /** 36862c64df1SMatthias Ringwald * @format 11 36962c64df1SMatthias Ringwald * @param status 37062c64df1SMatthias Ringwald * @param server_channel_id 37162c64df1SMatthias Ringwald */ 37262c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 0x86 37362c64df1SMatthias Ringwald 37462c64df1SMatthias Ringwald /** 37562c64df1SMatthias Ringwald * @format 14 37662c64df1SMatthias Ringwald * @param status 37762c64df1SMatthias Ringwald * @param service_record_handle 37862c64df1SMatthias Ringwald */ 37962c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED 0x90 38062c64df1SMatthias Ringwald 38162c64df1SMatthias Ringwald 382827b1c43SMatthias Ringwald 3833bc639ceSMatthias Ringwald // additional HCI events 38463fa3374SMatthias Ringwald 38563fa3374SMatthias Ringwald /** 38662ca45d7SMatthias Ringwald * @brief Indicates HCI transport enters/exits Sleep mode 38762ca45d7SMatthias Ringwald * @format 1 38862ca45d7SMatthias Ringwald * @param active 38962ca45d7SMatthias Ringwald */ 390d16a0392SMatthias Ringwald #define HCI_EVENT_TRANSPORT_SLEEP_MODE 0x69 39162ca45d7SMatthias Ringwald 39262ca45d7SMatthias Ringwald /** 39363fa3374SMatthias Ringwald * @brief Outgoing packet 39463fa3374SMatthias Ringwald */ 39563fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT 0x6E 39663fa3374SMatthias Ringwald 3973bc639ceSMatthias Ringwald /** 3983bc639ceSMatthias Ringwald * @format B 3993bc639ceSMatthias Ringwald * @param handle 4003bc639ceSMatthias Ringwald */ 4013bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW 0x6F 4023bc639ceSMatthias Ringwald 40362c64df1SMatthias Ringwald 404941b3855SMatthias Ringwald // L2CAP EVENTS 405941b3855SMatthias Ringwald 406b072ba33SMatthias Ringwald /** 407bab5f4f0SMatthias Ringwald * @format 1BH2222221 408b072ba33SMatthias Ringwald * @param status 409b072ba33SMatthias Ringwald * @param address 410b072ba33SMatthias Ringwald * @param handle 411b072ba33SMatthias Ringwald * @param psm 412b072ba33SMatthias Ringwald * @param local_cid 413b072ba33SMatthias Ringwald * @param remote_cid 414b072ba33SMatthias Ringwald * @param local_mtu 415b072ba33SMatthias Ringwald * @param remote_mtu 416b072ba33SMatthias Ringwald * @param flush_timeout 417bab5f4f0SMatthias Ringwald * @param incoming 418b072ba33SMatthias Ringwald */ 419941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED 0x70 420941b3855SMatthias Ringwald 421b072ba33SMatthias Ringwald /* 422b072ba33SMatthias Ringwald * @format 2 423b072ba33SMatthias Ringwald * @param local_cid 424b072ba33SMatthias Ringwald */ 425941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED 0x71 426941b3855SMatthias Ringwald 427b072ba33SMatthias Ringwald /** 4286d4269d3SMilanka Ringwald * @format BH222 429b072ba33SMatthias Ringwald * @param address 430b072ba33SMatthias Ringwald * @param handle 431b072ba33SMatthias Ringwald * @param psm 432b072ba33SMatthias Ringwald * @param local_cid 433b072ba33SMatthias Ringwald * @param remote_cid 434b072ba33SMatthias Ringwald */ 435941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION 0x72 436941b3855SMatthias Ringwald 437b072ba33SMatthias Ringwald // ?? 438941b3855SMatthias Ringwald // data: event(8), len(8), handle(16) 439941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK 0x73 440941b3855SMatthias Ringwald 441b072ba33SMatthias Ringwald /** 442b072ba33SMatthias Ringwald * @format H2222 443b072ba33SMatthias Ringwald * @param handle 444b072ba33SMatthias Ringwald * @param interval_min 445b072ba33SMatthias Ringwald * @param interval_max 446b072ba33SMatthias Ringwald * @param latencey 447b072ba33SMatthias Ringwald * @param timeout_multiplier 448b072ba33SMatthias Ringwald */ 449941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 0x76 450941b3855SMatthias Ringwald 451941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail) 452b072ba33SMatthias Ringwald /** 453b072ba33SMatthias Ringwald * @format H2 454b072ba33SMatthias Ringwald * @param handle 4552c737695SMatthias Ringwald * @param result 456b072ba33SMatthias Ringwald */ 457941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 0x77 458941b3855SMatthias Ringwald 459b072ba33SMatthias Ringwald /** 460b072ba33SMatthias Ringwald * @format 2 461b072ba33SMatthias Ringwald * @param local_cid 462b072ba33SMatthias Ringwald */ 463b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW 0x78 464b072ba33SMatthias Ringwald 46544276248SMatthias Ringwald // LE Data Channels 46644276248SMatthias Ringwald 46744276248SMatthias Ringwald /** 46844276248SMatthias Ringwald * @format 1BH2222 46944276248SMatthias Ringwald * @param address_type 47044276248SMatthias Ringwald * @param address 47144276248SMatthias Ringwald * @param handle 47244276248SMatthias Ringwald * @param psm 47344276248SMatthias Ringwald * @param local_cid 47444276248SMatthias Ringwald * @param remote_cid 47544276248SMatthias Ringwald * @param remote_mtu 47644276248SMatthias Ringwald */ 47744276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION 0x79 47844276248SMatthias Ringwald 47944276248SMatthias Ringwald /** 48012242deaSMatthias Ringwald * @format 11BH122222 48144276248SMatthias Ringwald * @param status 48244276248SMatthias Ringwald * @param address_type 48344276248SMatthias Ringwald * @param address 48444276248SMatthias Ringwald * @param handle 48512242deaSMatthias Ringwald * @param incoming 48644276248SMatthias Ringwald * @param psm 48744276248SMatthias Ringwald * @param local_cid 48844276248SMatthias Ringwald * @param remote_cid 48944276248SMatthias Ringwald * @param local_mtu 49044276248SMatthias Ringwald * @param remote_mtu 49144276248SMatthias Ringwald */ 49244276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED 0x7a 49344276248SMatthias Ringwald 49444276248SMatthias Ringwald /* 49544276248SMatthias Ringwald * @format 2 49644276248SMatthias Ringwald * @param local_cid 49744276248SMatthias Ringwald */ 49844276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED 0x7b 49944276248SMatthias Ringwald 50044276248SMatthias Ringwald /* 50144276248SMatthias Ringwald * @format 2 50244276248SMatthias Ringwald * @param local_cid 50344276248SMatthias Ringwald */ 50444276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW 0x7c 50544276248SMatthias Ringwald 50644276248SMatthias Ringwald /* 50744276248SMatthias Ringwald * @format 2 50844276248SMatthias Ringwald * @param local_cid 50944276248SMatthias Ringwald */ 51044276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT 0x7d 51144276248SMatthias Ringwald 51244276248SMatthias Ringwald 513941b3855SMatthias Ringwald // RFCOMM EVENTS 514b072ba33SMatthias Ringwald 515941b3855SMatthias Ringwald /** 516bab5f4f0SMatthias Ringwald * @format 1B21221 517941b3855SMatthias Ringwald * @param status 518941b3855SMatthias Ringwald * @param bd_addr 519941b3855SMatthias Ringwald * @param con_handle 520941b3855SMatthias Ringwald * @param server_channel 521941b3855SMatthias Ringwald * @param rfcomm_cid 522941b3855SMatthias Ringwald * @param max_frame_size 523bab5f4f0SMatthias Ringwald * @param incoming 524941b3855SMatthias Ringwald */ 525f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED 0x80 526941b3855SMatthias Ringwald 527941b3855SMatthias Ringwald /** 528941b3855SMatthias Ringwald * @format 2 529941b3855SMatthias Ringwald * @param rfcomm_cid 530941b3855SMatthias Ringwald */ 531941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED 0x81 532941b3855SMatthias Ringwald 533941b3855SMatthias Ringwald /** 534941b3855SMatthias Ringwald * @format B12 535941b3855SMatthias Ringwald * @param bd_addr 536941b3855SMatthias Ringwald * @param server_channel 537941b3855SMatthias Ringwald * @param rfcomm_cid 538941b3855SMatthias Ringwald */ 539941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION 0x82 540941b3855SMatthias Ringwald 541941b3855SMatthias Ringwald /** 542941b3855SMatthias Ringwald * @format 21 543941b3855SMatthias Ringwald * @param rfcomm_cid 544941b3855SMatthias Ringwald * @param line_status 545941b3855SMatthias Ringwald */ 546941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS 0x83 547941b3855SMatthias Ringwald 548941b3855SMatthias Ringwald /** 549941b3855SMatthias Ringwald * @format 21 550941b3855SMatthias Ringwald * @param rfcomm_cid 551941b3855SMatthias Ringwald * @param modem_status 552941b3855SMatthias Ringwald */ 553941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS 0x87 554941b3855SMatthias Ringwald 555941b3855SMatthias Ringwald /** 5567bd8e93bSMatthias Ringwald * TODO: format for variable data 2? 557045013feSMatthias Ringwald * param rfcomm_cid 558045013feSMatthias Ringwald * param rpn_data 559941b3855SMatthias Ringwald */ 560941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION 0x88 561941b3855SMatthias Ringwald 562941b3855SMatthias Ringwald /** 563b072ba33SMatthias Ringwald * @format 2 56462c468cbSMatthias Ringwald * @param rfcomm_cid 565b072ba33SMatthias Ringwald */ 566b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW 0x89 567b072ba33SMatthias Ringwald 568b072ba33SMatthias Ringwald 569b072ba33SMatthias Ringwald /** 570941b3855SMatthias Ringwald * @format 1 571941b3855SMatthias Ringwald * @param status 572941b3855SMatthias Ringwald */ 5735611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE 0x91 574941b3855SMatthias Ringwald 575941b3855SMatthias Ringwald /** 576941b3855SMatthias Ringwald * @format 1T 577941b3855SMatthias Ringwald * @param rfcomm_channel 578941b3855SMatthias Ringwald * @param name 579941b3855SMatthias Ringwald */ 5805611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE 0x92 581941b3855SMatthias Ringwald 582941b3855SMatthias Ringwald /** 5834225393cSMatthias Ringwald * @format 22221 5844225393cSMatthias Ringwald * @param record_id 585941b3855SMatthias Ringwald * @param attribute_id 5864225393cSMatthias Ringwald * @param attribute_length 5874225393cSMatthias Ringwald * @param data_offset 5884225393cSMatthias Ringwald * @param data 589941b3855SMatthias Ringwald */ 5905611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE 0x93 591941b3855SMatthias Ringwald 5924de250b4SMatthias Ringwald /** 5934de250b4SMatthias Ringwald * @format 22LV 5944de250b4SMatthias Ringwald * @param record_id 5954de250b4SMatthias Ringwald * @param attribute_id 5964de250b4SMatthias Ringwald * @param attribute_length 5974de250b4SMatthias Ringwald * @param attribute_value 5984de250b4SMatthias Ringwald */ 5995611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE 0x94 6004225393cSMatthias Ringwald 6014225393cSMatthias Ringwald /** 6024225393cSMatthias Ringwald * @format 224 6034225393cSMatthias Ringwald * @param total_count 6044225393cSMatthias Ringwald * @param record_index 6054225393cSMatthias Ringwald * @param record_handle 6064225393cSMatthias Ringwald * @note Not provided by daemon, only used for internal testing 6074225393cSMatthias Ringwald */ 6085611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 0x95 609941b3855SMatthias Ringwald 610941b3855SMatthias Ringwald /** 611941b3855SMatthias Ringwald * @format H1 612941b3855SMatthias Ringwald * @param handle 613941b3855SMatthias Ringwald * @param status 614941b3855SMatthias Ringwald */ 6155611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE 0xA0 616941b3855SMatthias Ringwald 617941b3855SMatthias Ringwald /** 618941b3855SMatthias Ringwald * @format HX 619941b3855SMatthias Ringwald * @param handle 620941b3855SMatthias Ringwald * @param service 621941b3855SMatthias Ringwald */ 6225611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT 0xA1 623941b3855SMatthias Ringwald 624941b3855SMatthias Ringwald /** 625941b3855SMatthias Ringwald * @format HY 626941b3855SMatthias Ringwald * @param handle 627941b3855SMatthias Ringwald * @param characteristic 628941b3855SMatthias Ringwald */ 6295611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 0xA2 630941b3855SMatthias Ringwald 631941b3855SMatthias Ringwald /** 632941b3855SMatthias Ringwald * @format H2X 633941b3855SMatthias Ringwald * @param handle 634941b3855SMatthias Ringwald * @param include_handle 635941b3855SMatthias Ringwald * @param service 636941b3855SMatthias Ringwald */ 6375611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 0xA3 638941b3855SMatthias Ringwald 639941b3855SMatthias Ringwald /** 640941b3855SMatthias Ringwald * @format HZ 641941b3855SMatthias Ringwald * @param handle 642941b3855SMatthias Ringwald * @param characteristic_descriptor 643941b3855SMatthias Ringwald */ 6445611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 0xA4 645941b3855SMatthias Ringwald 646941b3855SMatthias Ringwald /** 647941b3855SMatthias Ringwald * @format H2LV 648941b3855SMatthias Ringwald * @param handle 649941b3855SMatthias Ringwald * @param value_handle 650941b3855SMatthias Ringwald * @param value_length 651941b3855SMatthias Ringwald * @param value 652941b3855SMatthias Ringwald */ 6535611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA5 654941b3855SMatthias Ringwald 655941b3855SMatthias Ringwald /** 656941b3855SMatthias Ringwald * @format H22LV 657941b3855SMatthias Ringwald * @param handle 658941b3855SMatthias Ringwald * @param value_handle 659941b3855SMatthias Ringwald * @param value_offset 660941b3855SMatthias Ringwald * @param value_length 661941b3855SMatthias Ringwald * @param value 662941b3855SMatthias Ringwald */ 6635611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA6 664941b3855SMatthias Ringwald 665941b3855SMatthias Ringwald /** 666941b3855SMatthias Ringwald * @format H2LV 667941b3855SMatthias Ringwald * @param handle 668941b3855SMatthias Ringwald * @param value_handle 669941b3855SMatthias Ringwald * @param value_length 670941b3855SMatthias Ringwald * @param value 671941b3855SMatthias Ringwald */ 6725611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION 0xA7 673941b3855SMatthias Ringwald 674941b3855SMatthias Ringwald /** 675941b3855SMatthias Ringwald * @format H2LV 676941b3855SMatthias Ringwald * @param handle 677941b3855SMatthias Ringwald * @param value_handle 678941b3855SMatthias Ringwald * @param value_length 679941b3855SMatthias Ringwald * @param value 680941b3855SMatthias Ringwald */ 6815611a760SMatthias Ringwald #define GATT_EVENT_INDICATION 0xA8 682941b3855SMatthias Ringwald 683941b3855SMatthias Ringwald /** 684941b3855SMatthias Ringwald * @format H2LV 6852c737695SMatthias Ringwald * @param handle 686941b3855SMatthias Ringwald * @param descriptor_handle 687941b3855SMatthias Ringwald * @param descriptor_length 688941b3855SMatthias Ringwald * @param descriptor 689941b3855SMatthias Ringwald */ 6905611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xA9 691941b3855SMatthias Ringwald 692941b3855SMatthias Ringwald /** 693941b3855SMatthias Ringwald * @format H2LV 694941b3855SMatthias Ringwald * @param handle 695941b3855SMatthias Ringwald * @param descriptor_offset 696941b3855SMatthias Ringwald * @param descriptor_length 697941b3855SMatthias Ringwald * @param descriptor 698941b3855SMatthias Ringwald */ 6995611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xAA 700941b3855SMatthias Ringwald 701941b3855SMatthias Ringwald /** 702941b3855SMatthias Ringwald * @format H2 703941b3855SMatthias Ringwald * @param handle 704941b3855SMatthias Ringwald * @param MTU 705941b3855SMatthias Ringwald */ 7065611a760SMatthias Ringwald #define GATT_EVENT_MTU 0xAB 707941b3855SMatthias Ringwald 708941b3855SMatthias Ringwald /** 709941b3855SMatthias Ringwald * @format H2 710941b3855SMatthias Ringwald * @param handle 711941b3855SMatthias Ringwald * @param MTU 712941b3855SMatthias Ringwald */ 7135611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE 0xB5 714941b3855SMatthias Ringwald 71549d18261SMatthias Ringwald /** 71649d18261SMatthias Ringwald * @format 1H2 71749d18261SMatthias Ringwald * @param status 71849d18261SMatthias Ringwald * @param conn_handle 71949d18261SMatthias Ringwald * @param attribute_handle 72049d18261SMatthias Ringwald */ 7215611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 0xB6 722941b3855SMatthias Ringwald 72349d18261SMatthias Ringwald /** 72449d18261SMatthias Ringwald * @format 72549d18261SMatthias Ringwald */ 72649d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW 0xB7 727941b3855SMatthias Ringwald 72849d18261SMatthias Ringwald // TODO: daemon only event 72949d18261SMatthias Ringwald 73049d18261SMatthias Ringwald /** 73149d18261SMatthias Ringwald * @format 12 73249d18261SMatthias Ringwald * @param status 73349d18261SMatthias Ringwald * @param service_uuid 73449d18261SMatthias Ringwald */ 735941b3855SMatthias Ringwald #define BNEP_EVENT_SERVICE_REGISTERED 0xC0 736941b3855SMatthias Ringwald 73749d18261SMatthias Ringwald /** 738423c667cSMatthias Ringwald * @format 12222B 73949d18261SMatthias Ringwald * @param status 740423c667cSMatthias Ringwald * @param bnep_cid 74149d18261SMatthias Ringwald * @param source_uuid 74249d18261SMatthias Ringwald * @param destination_uuid 74349d18261SMatthias Ringwald * @param mtu 74449d18261SMatthias Ringwald * @param remote_address 74549d18261SMatthias Ringwald */ 746423c667cSMatthias Ringwald #define BNEP_EVENT_CHANNEL_OPENED 0xC1 747941b3855SMatthias Ringwald 74849d18261SMatthias Ringwald /** 749423c667cSMatthias Ringwald * @format 222B 750423c667cSMatthias Ringwald * @param bnep_cid 75149d18261SMatthias Ringwald * @param source_uuid 75249d18261SMatthias Ringwald * @param destination_uuid 75349d18261SMatthias Ringwald * @param remote_address 75449d18261SMatthias Ringwald */ 755941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_CLOSED 0xC2 756941b3855SMatthias Ringwald 75749d18261SMatthias Ringwald /** 758423c667cSMatthias Ringwald * @format 222B1 759423c667cSMatthias Ringwald * @param bnep_cid 76049d18261SMatthias Ringwald * @param source_uuid 76149d18261SMatthias Ringwald * @param destination_uuid 76249d18261SMatthias Ringwald * @param remote_address 76349d18261SMatthias Ringwald * @param channel_state 76449d18261SMatthias Ringwald */ 765941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT 0xC3 766941b3855SMatthias Ringwald 76749d18261SMatthias Ringwald /** 768423c667cSMatthias Ringwald * @format 222B 769423c667cSMatthias Ringwald * @param bnep_cid 77049d18261SMatthias Ringwald * @param source_uuid 77149d18261SMatthias Ringwald * @param destination_uuid 77249d18261SMatthias Ringwald * @param remote_address 77349d18261SMatthias Ringwald */ 7742d4c8c04SMatthias Ringwald #define BNEP_EVENT_CAN_SEND_NOW 0xC4 775941b3855SMatthias Ringwald 776941b3855SMatthias Ringwald /** 777941b3855SMatthias Ringwald * @format H1B 778941b3855SMatthias Ringwald * @param handle 779941b3855SMatthias Ringwald * @param addr_type 780941b3855SMatthias Ringwald * @param address 781941b3855SMatthias Ringwald */ 7825611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST 0xD0 783941b3855SMatthias Ringwald 784941b3855SMatthias Ringwald /** 785941b3855SMatthias Ringwald * @format H1B 786941b3855SMatthias Ringwald * @param handle 787941b3855SMatthias Ringwald * @param addr_type 788941b3855SMatthias Ringwald * @param address 789941b3855SMatthias Ringwald */ 7905611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL 0xD1 791941b3855SMatthias Ringwald 792941b3855SMatthias Ringwald /** 793941b3855SMatthias Ringwald * @format H1B4 794941b3855SMatthias Ringwald * @param handle 795941b3855SMatthias Ringwald * @param addr_type 796941b3855SMatthias Ringwald * @param address 797941b3855SMatthias Ringwald * @param passkey 798941b3855SMatthias Ringwald */ 7995611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER 0xD2 800941b3855SMatthias Ringwald 801941b3855SMatthias Ringwald /** 802941b3855SMatthias Ringwald * @format H1B 803941b3855SMatthias Ringwald * @param handle 804941b3855SMatthias Ringwald * @param addr_type 805941b3855SMatthias Ringwald * @param address 806941b3855SMatthias Ringwald */ 8075611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL 0xD3 808941b3855SMatthias Ringwald 809941b3855SMatthias Ringwald /** 8102c737695SMatthias Ringwald * @format H1B 811941b3855SMatthias Ringwald * @param handle 812941b3855SMatthias Ringwald * @param addr_type 813941b3855SMatthias Ringwald * @param address 814941b3855SMatthias Ringwald */ 8155611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER 0xD4 816941b3855SMatthias Ringwald 817941b3855SMatthias Ringwald /** 818941b3855SMatthias Ringwald * @format H1B 819941b3855SMatthias Ringwald * @param handle 820941b3855SMatthias Ringwald * @param addr_type 821941b3855SMatthias Ringwald * @param address 822941b3855SMatthias Ringwald */ 8235611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL 0xD5 824941b3855SMatthias Ringwald 825941b3855SMatthias Ringwald /** 8268362d86aSMatthias Ringwald * @format H1B4 8278362d86aSMatthias Ringwald * @param handle 8288362d86aSMatthias Ringwald * @param addr_type 8298362d86aSMatthias Ringwald * @param address 8308362d86aSMatthias Ringwald * @param passkey 8318362d86aSMatthias Ringwald */ 8328362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST 0xD6 8338362d86aSMatthias Ringwald 8348362d86aSMatthias Ringwald /** 8352c737695SMatthias Ringwald * @format H1B 836941b3855SMatthias Ringwald * @param handle 837941b3855SMatthias Ringwald * @param addr_type 838941b3855SMatthias Ringwald * @param address 839941b3855SMatthias Ringwald */ 8408362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL 0xD7 841941b3855SMatthias Ringwald 842941b3855SMatthias Ringwald /** 843941b3855SMatthias Ringwald * @format H1B 844941b3855SMatthias Ringwald * @param handle 845941b3855SMatthias Ringwald * @param addr_type 846941b3855SMatthias Ringwald * @param address 847941b3855SMatthias Ringwald */ 8488362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED 0xD8 8498362d86aSMatthias Ringwald 8508362d86aSMatthias Ringwald /** 8518362d86aSMatthias Ringwald * @format H1B 8528362d86aSMatthias Ringwald * @param handle 8538362d86aSMatthias Ringwald * @param addr_type 8548362d86aSMatthias Ringwald * @param address 8558362d86aSMatthias Ringwald */ 8568362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED 0xD9 857941b3855SMatthias Ringwald 858941b3855SMatthias Ringwald /** 85984182ed9SMatthias Ringwald * @brief Identify resolving succeeded 86084182ed9SMatthias Ringwald * 861334126b3SMatthias Ringwald * @format H1B1B2 862941b3855SMatthias Ringwald * @param handle 863941b3855SMatthias Ringwald * @param addr_type 864941b3855SMatthias Ringwald * @param address 86584182ed9SMatthias Ringwald * @param identity_addr_type 86684182ed9SMatthias Ringwald * @param identity_address 867334126b3SMatthias Ringwald * @param index_internal 86884182ed9SMatthias Ringwald * 869941b3855SMatthias Ringwald */ 8708362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 0xDA 871941b3855SMatthias Ringwald 872941b3855SMatthias Ringwald /** 873941b3855SMatthias Ringwald * @format H1B 874941b3855SMatthias Ringwald * @param handle 875941b3855SMatthias Ringwald * @param addr_type 876941b3855SMatthias Ringwald * @param address 877941b3855SMatthias Ringwald */ 8788362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST 0xDB 879941b3855SMatthias Ringwald 880941b3855SMatthias Ringwald /** 881941b3855SMatthias Ringwald * @format H1B1 882941b3855SMatthias Ringwald * @param handle 883941b3855SMatthias Ringwald * @param addr_type 884941b3855SMatthias Ringwald * @param address 885941b3855SMatthias Ringwald * @param authorization_result 886941b3855SMatthias Ringwald */ 8878362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT 0xDC 888941b3855SMatthias Ringwald 8893d7fe1e9SMatthias Ringwald /** 8903d7fe1e9SMatthias Ringwald * @format H1 8913d7fe1e9SMatthias Ringwald * @param handle 8923d7fe1e9SMatthias Ringwald * @param action see SM_KEYPRESS_* 8933d7fe1e9SMatthias Ringwald */ 8943d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION 0xDD 8953d7fe1e9SMatthias Ringwald 89684182ed9SMatthias Ringwald /** 89784182ed9SMatthias Ringwald * @brief Emitted during pairing to inform app about address used as identity 89884182ed9SMatthias Ringwald * 89984182ed9SMatthias Ringwald * @format H1B1B 90084182ed9SMatthias Ringwald * @param handle 90184182ed9SMatthias Ringwald * @param addr_type 90284182ed9SMatthias Ringwald * @param address 90384182ed9SMatthias Ringwald * @param identity_addr_type 90484182ed9SMatthias Ringwald * @param identity_address 90584182ed9SMatthias Ringwald */ 90684182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED 0xDE 9073d7fe1e9SMatthias Ringwald 908941b3855SMatthias Ringwald // GAP 909941b3855SMatthias Ringwald 91046bc5396SMilanka Ringwald /** 91146bc5396SMilanka Ringwald * @format H1 91246bc5396SMilanka Ringwald * @param handle 91346bc5396SMilanka Ringwald * @param security_level 91446bc5396SMilanka Ringwald */ 9155611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL 0xE0 916941b3855SMatthias Ringwald 91746bc5396SMilanka Ringwald /** 91846bc5396SMilanka Ringwald * @format 1B 91946bc5396SMilanka Ringwald * @param status 92046bc5396SMilanka Ringwald * @param address 92146bc5396SMilanka Ringwald */ 9225611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED 0xE1 923941b3855SMatthias Ringwald 924941b3855SMatthias Ringwald /** 925941b3855SMatthias Ringwald * @format 11B1JV 926941b3855SMatthias Ringwald * @param advertising_event_type 927941b3855SMatthias Ringwald * @param address_type 928941b3855SMatthias Ringwald * @param address 929941b3855SMatthias Ringwald * @param rssi 930941b3855SMatthias Ringwald * @param data_length 931941b3855SMatthias Ringwald * @param data 932941b3855SMatthias Ringwald */ 933045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT 0xE2 934941b3855SMatthias Ringwald 9351cfb383eSMatthias Ringwald /** 9361cfb383eSMatthias Ringwald * @format B132111JV 9371cfb383eSMatthias Ringwald * @param bd_addr 9381cfb383eSMatthias Ringwald * @param page_scan_repetition_mode 9391cfb383eSMatthias Ringwald * @param class_of_device 9401cfb383eSMatthias Ringwald * @param clock_offset 9411cfb383eSMatthias Ringwald * @param rssi_availabe 9421cfb383eSMatthias Ringwald * @param rssi 9431cfb383eSMatthias Ringwald * @param name_available 9441cfb383eSMatthias Ringwald * @param name_len 9451cfb383eSMatthias Ringwald * @param name 9461cfb383eSMatthias Ringwald */ 9471cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_RESULT 0xE3 9481cfb383eSMatthias Ringwald 9491cfb383eSMatthias Ringwald /** 9501cfb383eSMatthias Ringwald * @format 1 9511cfb383eSMatthias Ringwald * @param status 9521cfb383eSMatthias Ringwald */ 9531cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_COMPLETE 0xE4 9541cfb383eSMatthias Ringwald 955827b1c43SMatthias Ringwald 956e10ce426SMatthias Ringwald // Meta Events, see below for sub events 957941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META 0xE8 95839d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META 0xE9 959e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META 0xEA 960beaf082cSMatthias Ringwald #define HCI_EVENT_AVDTP_META 0xEB 961decc740cSMilanka Ringwald #define HCI_EVENT_AVRCP_META 0xEC 962f1b34e8dSMatthias Ringwald #define HCI_EVENT_GOEP_META 0xED 963f1b34e8dSMatthias Ringwald #define HCI_EVENT_PBAP_META 0xEE 964dd148ddbSMatthias Ringwald #define HCI_EVENT_HID_META 0xEF 96539d235cbSMatthias Ringwald 966e10ce426SMatthias Ringwald // Potential other meta groups 967e10ce426SMatthias Ringwald // #define HCI_EVENT_BNEP_META 0xxx 968e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META 0xxx 969e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META 0xxx 970e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META 0xxx 971e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META 0xxx 972e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META 0xxx 97339d235cbSMatthias Ringwald 974d63c37a1SMatthias Ringwald 975d63c37a1SMatthias Ringwald /** HSP Subevent */ 976d63c37a1SMatthias Ringwald 977827b1c43SMatthias Ringwald /** 97899a10067SMatthias Ringwald * @format 11 979827b1c43SMatthias Ringwald * @param subevent_code 980827b1c43SMatthias Ringwald * @param status 0 == OK 981827b1c43SMatthias Ringwald */ 98299a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 0x01 98399a10067SMatthias Ringwald 98499a10067SMatthias Ringwald /** 98599a10067SMatthias Ringwald * @format 11 98699a10067SMatthias Ringwald * @param subevent_code 98799a10067SMatthias Ringwald * @param status 0 == OK 98899a10067SMatthias Ringwald */ 98999a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 0x02 99099a10067SMatthias Ringwald 99199a10067SMatthias Ringwald 99299a10067SMatthias Ringwald /** 99362c468cbSMatthias Ringwald * @format 11H 99499a10067SMatthias Ringwald * @param subevent_code 99599a10067SMatthias Ringwald * @param status 0 == OK 99662c468cbSMatthias Ringwald * @param handle 99799a10067SMatthias Ringwald */ 99899a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x03 999827b1c43SMatthias Ringwald 1000827b1c43SMatthias Ringwald /** 1001827b1c43SMatthias Ringwald * @format 11 1002827b1c43SMatthias Ringwald * @param subevent_code 1003827b1c43SMatthias Ringwald * @param status 0 == OK 1004827b1c43SMatthias Ringwald */ 100599a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 0x04 1006827b1c43SMatthias Ringwald 1007827b1c43SMatthias Ringwald /** 1008827b1c43SMatthias Ringwald * @format 1 1009827b1c43SMatthias Ringwald * @param subevent_code 1010827b1c43SMatthias Ringwald */ 101199a10067SMatthias Ringwald #define HSP_SUBEVENT_RING 0x05 1012827b1c43SMatthias Ringwald 1013827b1c43SMatthias Ringwald /** 1014827b1c43SMatthias Ringwald * @format 11 1015827b1c43SMatthias Ringwald * @param subevent_code 1016827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 1017827b1c43SMatthias Ringwald */ 101899a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 0x06 1019827b1c43SMatthias Ringwald 1020827b1c43SMatthias Ringwald /** 1021827b1c43SMatthias Ringwald * @format 11 1022827b1c43SMatthias Ringwald * @param subevent_code 1023827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 1024827b1c43SMatthias Ringwald */ 102599a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 0x07 1026827b1c43SMatthias Ringwald 1027827b1c43SMatthias Ringwald /** 1028827b1c43SMatthias Ringwald * @format 1JV 1029827b1c43SMatthias Ringwald * @param subevent_code 1030827b1c43SMatthias Ringwald * @param value_length 1031827b1c43SMatthias Ringwald * @param value 1032827b1c43SMatthias Ringwald */ 103399a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND 0x08 1034827b1c43SMatthias Ringwald 1035827b1c43SMatthias Ringwald /** 1036827b1c43SMatthias Ringwald * @format 1JV 1037827b1c43SMatthias Ringwald * @param subevent_code 1038827b1c43SMatthias Ringwald * @param value_length 1039827b1c43SMatthias Ringwald * @param value 1040827b1c43SMatthias Ringwald */ 104199a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION 0x09 1042827b1c43SMatthias Ringwald 1043941b3855SMatthias Ringwald 1044d63c37a1SMatthias Ringwald /** HFP Subevent */ 1045941b3855SMatthias Ringwald 1046d63c37a1SMatthias Ringwald /** 1047a23045e2SMilanka Ringwald * @format 11HB 1048d63c37a1SMatthias Ringwald * @param subevent_code 1049d63c37a1SMatthias Ringwald * @param status 0 == OK 1050a0653c3bSMilanka Ringwald * @param con_handle 10516a7f44bdSMilanka Ringwald * @param bd_addr 1052d63c37a1SMatthias Ringwald */ 1053941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 0x01 1054d63c37a1SMatthias Ringwald 1055d63c37a1SMatthias Ringwald /** 1056d63c37a1SMatthias Ringwald * @format 1 1057d63c37a1SMatthias Ringwald * @param subevent_code 1058d63c37a1SMatthias Ringwald */ 1059941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 0x02 1060d63c37a1SMatthias Ringwald 1061d63c37a1SMatthias Ringwald /** 1062a23045e2SMilanka Ringwald * @format 11HB1 1063d63c37a1SMatthias Ringwald * @param subevent_code 1064d63c37a1SMatthias Ringwald * @param status 0 == OK 10656ff51cfdSMatthias Ringwald * @param handle 10666a7f44bdSMilanka Ringwald * @param bd_addr 1067d0c4aea6SMilanka Ringwald * @param negotiated_codec 1068d63c37a1SMatthias Ringwald */ 1069941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 0x03 1070d63c37a1SMatthias Ringwald 1071d63c37a1SMatthias Ringwald /** 1072d63c37a1SMatthias Ringwald * @format 1 1073d63c37a1SMatthias Ringwald * @param subevent_code 1074d63c37a1SMatthias Ringwald */ 1075941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 0x04 1076d63c37a1SMatthias Ringwald 1077d63c37a1SMatthias Ringwald /** 1078d63c37a1SMatthias Ringwald * @format 11 1079d63c37a1SMatthias Ringwald * @param subevent_code 1080d63c37a1SMatthias Ringwald * @param status 0 == OK 1081d63c37a1SMatthias Ringwald */ 1082941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE 0x05 1083d63c37a1SMatthias Ringwald 1084d63c37a1SMatthias Ringwald /** 1085d63c37a1SMatthias Ringwald * @format 111T 1086d63c37a1SMatthias Ringwald * @param subevent_code 1087d63c37a1SMatthias Ringwald * @param indicator_index 1088d63c37a1SMatthias Ringwald * @param indicator_status 1089d63c37a1SMatthias Ringwald * @param indicator_name 1090d63c37a1SMatthias Ringwald */ 1091941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 0x06 1092d63c37a1SMatthias Ringwald 1093d63c37a1SMatthias Ringwald /** 10942c737695SMatthias Ringwald * @format 111T 1095d63c37a1SMatthias Ringwald * @param subevent_code 1096d63c37a1SMatthias Ringwald * @param network_operator_mode 1097d63c37a1SMatthias Ringwald * @param network_operator_format 1098d63c37a1SMatthias Ringwald * @param network_operator_name 1099d63c37a1SMatthias Ringwald */ 1100941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 0x07 1101d63c37a1SMatthias Ringwald 1102d63c37a1SMatthias Ringwald /** 1103d63c37a1SMatthias Ringwald * @format 11 1104d63c37a1SMatthias Ringwald * @param subevent_code 1105d63c37a1SMatthias Ringwald * @param error 1106d63c37a1SMatthias Ringwald */ 1107941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 0x08 1108d63c37a1SMatthias Ringwald 1109d63c37a1SMatthias Ringwald /** 1110d63c37a1SMatthias Ringwald * @format 1 1111d63c37a1SMatthias Ringwald * @param subevent_code 1112d63c37a1SMatthias Ringwald */ 1113aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG 0x0A 1114d63c37a1SMatthias Ringwald 1115d63c37a1SMatthias Ringwald /** 1116d63c37a1SMatthias Ringwald * @format 1 1117d63c37a1SMatthias Ringwald * @param subevent_code 1118d63c37a1SMatthias Ringwald */ 1119aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG 0x0B 1120d63c37a1SMatthias Ringwald 1121d63c37a1SMatthias Ringwald /** 1122d63c37a1SMatthias Ringwald * @format 1 1123d63c37a1SMatthias Ringwald * @param subevent_code 1124d63c37a1SMatthias Ringwald */ 1125aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED 0x0C 1126d63c37a1SMatthias Ringwald 1127d63c37a1SMatthias Ringwald /** 1128d63c37a1SMatthias Ringwald * @format 1T 1129d63c37a1SMatthias Ringwald * @param subevent_code 1130d63c37a1SMatthias Ringwald * @param number 1131d63c37a1SMatthias Ringwald */ 1132aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 0x0D 1133d63c37a1SMatthias Ringwald 1134d63c37a1SMatthias Ringwald /** 1135d63c37a1SMatthias Ringwald * @format 1 1136d63c37a1SMatthias Ringwald * @param subevent_code 1137d63c37a1SMatthias Ringwald */ 1138d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 0x0E 1139d63c37a1SMatthias Ringwald 1140d63c37a1SMatthias Ringwald /** 1141d63c37a1SMatthias Ringwald * @format 1T 1142d63c37a1SMatthias Ringwald * @param subevent_code 1143d63c37a1SMatthias Ringwald * @param number 1144d63c37a1SMatthias Ringwald */ 1145d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 0x0F 1146d63c37a1SMatthias Ringwald 1147d63c37a1SMatthias Ringwald /** 1148d63c37a1SMatthias Ringwald * @format 1T 1149d63c37a1SMatthias Ringwald * @param subevent_code 1150d63c37a1SMatthias Ringwald * @param dtmf code 1151d63c37a1SMatthias Ringwald */ 1152d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES 0x10 1153d63c37a1SMatthias Ringwald 1154d63c37a1SMatthias Ringwald /** 1155d63c37a1SMatthias Ringwald * @format 1 1156d63c37a1SMatthias Ringwald * @param subevent_code 1157d63c37a1SMatthias Ringwald */ 1158d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_ANSWERED 0x11 1159d63c37a1SMatthias Ringwald 1160d63c37a1SMatthias Ringwald /** 1161d63c37a1SMatthias Ringwald * @format 1 1162d63c37a1SMatthias Ringwald * @param subevent_code 1163d63c37a1SMatthias Ringwald */ 1164d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL 0x12 1165d63c37a1SMatthias Ringwald 1166d63c37a1SMatthias Ringwald /** 1167d63c37a1SMatthias Ringwald * @format 1 1168d63c37a1SMatthias Ringwald * @param subevent_code 1169d63c37a1SMatthias Ringwald */ 1170d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING 0x13 1171d63c37a1SMatthias Ringwald 1172d63c37a1SMatthias Ringwald /** 1173d63c37a1SMatthias Ringwald * @format 111 1174d63c37a1SMatthias Ringwald * @param subevent_code 1175d63c37a1SMatthias Ringwald * @param status 1176d63c37a1SMatthias Ringwald * @param gain 1177d63c37a1SMatthias Ringwald */ 1178d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SPEAKER_VOLUME 0x14 1179d63c37a1SMatthias Ringwald 1180d63c37a1SMatthias Ringwald /** 1181d63c37a1SMatthias Ringwald * @format 111 1182d63c37a1SMatthias Ringwald * @param subevent_code 1183d63c37a1SMatthias Ringwald * @param status 1184d63c37a1SMatthias Ringwald * @param gain 1185d63c37a1SMatthias Ringwald */ 1186d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME 0x15 1187d63c37a1SMatthias Ringwald 1188d63c37a1SMatthias Ringwald /** 1189d63c37a1SMatthias Ringwald * @format 11T 1190d63c37a1SMatthias Ringwald * @param subevent_code 1191d63c37a1SMatthias Ringwald * @param type 1192d63c37a1SMatthias Ringwald * @param number 1193d63c37a1SMatthias Ringwald */ 1194d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 0x16 1195d63c37a1SMatthias Ringwald 1196d63c37a1SMatthias Ringwald /** 1197d63c37a1SMatthias Ringwald * @format 11T 1198d63c37a1SMatthias Ringwald * @param subevent_code 1199d63c37a1SMatthias Ringwald * @param type 1200d63c37a1SMatthias Ringwald * @param number 1201d63c37a1SMatthias Ringwald */ 1202d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17 1203d63c37a1SMatthias Ringwald 1204d63c37a1SMatthias Ringwald /** 1205d63c37a1SMatthias Ringwald * @format 111111T 1206d63c37a1SMatthias Ringwald * @param subevent_code 1207d63c37a1SMatthias Ringwald * @param clcc_idx 1208d63c37a1SMatthias Ringwald * @param clcc_dir 1209d63c37a1SMatthias Ringwald * @param clcc_status 1210d63c37a1SMatthias Ringwald * @param clcc_mpty 1211d63c37a1SMatthias Ringwald * @param bnip_type 1212d63c37a1SMatthias Ringwald * @param bnip_number 1213d63c37a1SMatthias Ringwald */ 1214d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS 0x18 1215d63c37a1SMatthias Ringwald 1216d63c37a1SMatthias Ringwald /** 1217d63c37a1SMatthias Ringwald * @format 111T 1218d63c37a1SMatthias Ringwald * @param subevent_code 1219d63c37a1SMatthias Ringwald * @param status 1220d63c37a1SMatthias Ringwald * @param bnip_type 1221d63c37a1SMatthias Ringwald * @param bnip_number 1222d63c37a1SMatthias Ringwald */ 1223d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 0x19 1224d63c37a1SMatthias Ringwald 1225d63c37a1SMatthias Ringwald /** 1226d63c37a1SMatthias Ringwald * @format 1T 1227d63c37a1SMatthias Ringwald * @param subevent_code 1228d63c37a1SMatthias Ringwald * @param value 1229d63c37a1SMatthias Ringwald */ 1230d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 0x1A 1231941b3855SMatthias Ringwald 1232941b3855SMatthias Ringwald // ANCS Client 1233a4815874SMatthias Ringwald 1234a4815874SMatthias Ringwald /** 1235e10ce426SMatthias Ringwald * @format 1H 1236e10ce426SMatthias Ringwald * @param subevent_code 1237a4815874SMatthias Ringwald * @param handle 1238a4815874SMatthias Ringwald */ 1239e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED 0xF0 1240a4815874SMatthias Ringwald 1241a4815874SMatthias Ringwald /** 1242e10ce426SMatthias Ringwald * @format 1H2T 1243e10ce426SMatthias Ringwald * @param subevent_code 1244a4815874SMatthias Ringwald * @param handle 1245a4815874SMatthias Ringwald * @param attribute_id 1246a4815874SMatthias Ringwald * @param text 1247a4815874SMatthias Ringwald */ 1248e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION 0xF1 1249a4815874SMatthias Ringwald 1250a4815874SMatthias Ringwald /** 1251e10ce426SMatthias Ringwald * @format 1H 1252e10ce426SMatthias Ringwald * @param subevent_code 1253a4815874SMatthias Ringwald * @param handle 1254a4815874SMatthias Ringwald */ 1255e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED 0xF2 1256941b3855SMatthias Ringwald 1257a23045e2SMilanka Ringwald 1258a23045e2SMilanka Ringwald /** AVDTP Subevent */ 1259a23045e2SMilanka Ringwald 12603338b9aeSMilanka Ringwald /** 12612c737695SMatthias Ringwald * @format 1H11 12622c708e8aSMilanka Ringwald * @param subevent_code 12632c708e8aSMilanka Ringwald * @param con_handle 12642c708e8aSMilanka Ringwald * @param signal_identifier 12652c708e8aSMilanka Ringwald * @param status 0 == OK 12662c708e8aSMilanka Ringwald */ 12672c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_ACCEPT 0x01 12682c708e8aSMilanka Ringwald 12692c708e8aSMilanka Ringwald /** 12702c708e8aSMilanka Ringwald * @format 1H1 12712c708e8aSMilanka Ringwald * @param subevent_code 12722c708e8aSMilanka Ringwald * @param con_handle 12732c708e8aSMilanka Ringwald * @param signal_identifier 12742c708e8aSMilanka Ringwald */ 12752c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REJECT 0x02 12762c708e8aSMilanka Ringwald 12772c708e8aSMilanka Ringwald /** 12782c708e8aSMilanka Ringwald * @format 1H1 12792c708e8aSMilanka Ringwald * @param subevent_code 12802c708e8aSMilanka Ringwald * @param con_handle 12812c708e8aSMilanka Ringwald * @param signal_identifier 12822c708e8aSMilanka Ringwald */ 12832c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 0x03 12842c708e8aSMilanka Ringwald 12852c708e8aSMilanka Ringwald /** 12863338b9aeSMilanka Ringwald * @format 1HB1 12873338b9aeSMilanka Ringwald * @param subevent_code 12883338b9aeSMilanka Ringwald * @param con_handle 12893338b9aeSMilanka Ringwald * @param bd_addr 12903338b9aeSMilanka Ringwald * @param status 0 == OK 12913338b9aeSMilanka Ringwald */ 12922c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x04 1293a23045e2SMilanka Ringwald 12943338b9aeSMilanka Ringwald /** 129585a0c7cdSMilanka Ringwald * @format 1H 12963338b9aeSMilanka Ringwald * @param subevent_code 129785a0c7cdSMilanka Ringwald * @param con_handle 12983338b9aeSMilanka Ringwald */ 12992c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x05 13003338b9aeSMilanka Ringwald 13013338b9aeSMilanka Ringwald /** 13023338b9aeSMilanka Ringwald * @format 1H1111 13033338b9aeSMilanka Ringwald * @param subevent_code 13043338b9aeSMilanka Ringwald * @param handle 13053338b9aeSMilanka Ringwald * @param seid 0x01 – 0x3E 13063338b9aeSMilanka Ringwald * @param in_use 0-not in use, 1-in use 13073338b9aeSMilanka Ringwald * @param media_type 0-audio, 1-video, 2-multimedia 13083338b9aeSMilanka Ringwald * @param sep_type 0-source, 1-sink 13093338b9aeSMilanka Ringwald */ 13102c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 0x06 13113338b9aeSMilanka Ringwald 13123338b9aeSMilanka Ringwald /** 13133338b9aeSMilanka Ringwald * @format 1H11111111 13143338b9aeSMilanka Ringwald * @param subevent_code 13153338b9aeSMilanka Ringwald * @param con_handle 13163338b9aeSMilanka Ringwald * @param media_type 1317ea7bd529SMilanka Ringwald * @param sampling_frequency_bitmap 1318ea7bd529SMilanka Ringwald * @param channel_mode_bitmap 1319ea7bd529SMilanka Ringwald * @param block_length_bitmap 1320ea7bd529SMilanka Ringwald * @param subbands_bitmap 1321ea7bd529SMilanka Ringwald * @param allocation_method_bitmap 13223338b9aeSMilanka Ringwald * @param min_bitpool_value 13233338b9aeSMilanka Ringwald * @param max_bitpool_value 13243338b9aeSMilanka Ringwald */ 13252c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x07 13263338b9aeSMilanka Ringwald 13273338b9aeSMilanka Ringwald /** 13282c737695SMatthias Ringwald * @format 1H12LV 13293338b9aeSMilanka Ringwald * @param subevent_code 13303338b9aeSMilanka Ringwald * @param con_handle 13313338b9aeSMilanka Ringwald * @param media_type 13323338b9aeSMilanka Ringwald * @param media_codec_type 13333338b9aeSMilanka Ringwald * @param media_codec_information_len 13343338b9aeSMilanka Ringwald * @param media_codec_information 13353338b9aeSMilanka Ringwald */ 13362c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x08 1337a23045e2SMilanka Ringwald 1338ea7bd529SMilanka Ringwald /** 133960099f8bSMilanka Ringwald * @format 1H1121111111 1340ea7bd529SMilanka Ringwald * @param subevent_code 1341ea7bd529SMilanka Ringwald * @param con_handle 1342ea7bd529SMilanka Ringwald * @param reconfigure 1343ea7bd529SMilanka Ringwald * @param media_type 1344ea7bd529SMilanka Ringwald * @param sampling_frequency 1345ea7bd529SMilanka Ringwald * @param channel_mode 1346ea7bd529SMilanka Ringwald * @param num_channels 1347ea7bd529SMilanka Ringwald * @param block_length 1348ea7bd529SMilanka Ringwald * @param subbands 1349ea7bd529SMilanka Ringwald * @param allocation_method 1350ea7bd529SMilanka Ringwald * @param min_bitpool_value 1351ea7bd529SMilanka Ringwald * @param max_bitpool_value 1352ea7bd529SMilanka Ringwald */ 13532c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x09 1354ea7bd529SMilanka Ringwald 1355ea7bd529SMilanka Ringwald /** 13562c737695SMatthias Ringwald * @format 1H112LV 1357ea7bd529SMilanka Ringwald * @param subevent_code 1358ea7bd529SMilanka Ringwald * @param con_handle 1359ea7bd529SMilanka Ringwald * @param reconfigure 1360ea7bd529SMilanka Ringwald * @param media_type 1361ea7bd529SMilanka Ringwald * @param media_codec_type 1362ea7bd529SMilanka Ringwald * @param media_codec_information_len 1363ea7bd529SMilanka Ringwald * @param media_codec_information 1364ea7bd529SMilanka Ringwald */ 13652c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x0A 1366decc740cSMilanka Ringwald 136785a0c7cdSMilanka Ringwald /** 136885a0c7cdSMilanka Ringwald * @format 1H1 136985a0c7cdSMilanka Ringwald * @param subevent_code 137085a0c7cdSMilanka Ringwald * @param con_handle 137185a0c7cdSMilanka Ringwald * @param status 0 == OK 137285a0c7cdSMilanka Ringwald */ 137385a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 0x0B 137485a0c7cdSMilanka Ringwald 137585a0c7cdSMilanka Ringwald /** 137685a0c7cdSMilanka Ringwald * @format 1H 137785a0c7cdSMilanka Ringwald * @param subevent_code 137885a0c7cdSMilanka Ringwald * @param con_handle 137985a0c7cdSMilanka Ringwald */ 138085a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 0x0C 138185a0c7cdSMilanka Ringwald 138285a0c7cdSMilanka Ringwald 1383decc740cSMilanka Ringwald 1384decc740cSMilanka Ringwald /** AVRCP Subevent */ 1385decc740cSMilanka Ringwald 1386decc740cSMilanka Ringwald /** 138785a0c7cdSMilanka Ringwald * @format 1H12B 1388decc740cSMilanka Ringwald * @param subevent_code 1389decc740cSMilanka Ringwald * @param con_handle 13902a029560SMilanka Ringwald * @param status 0 == OK 1391decc740cSMilanka Ringwald * @param local_cid 1392decc740cSMilanka Ringwald * @param bd_addr 1393decc740cSMilanka Ringwald */ 1394decc740cSMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 0x01 1395decc740cSMilanka Ringwald 1396decc740cSMilanka Ringwald /** 1397decc740cSMilanka Ringwald * @format 1H 1398decc740cSMilanka Ringwald * @param subevent_code 1399decc740cSMilanka Ringwald * @param con_handle 1400decc740cSMilanka Ringwald */ 14016eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_RELEASED 0x02 1402decc740cSMilanka Ringwald 1403cd41da7eSMilanka Ringwald /** 1404e222d6a0SMatthias Ringwald * @format 1H1114JVJVJVJV 1405cd41da7eSMilanka Ringwald * @param subevent_code 1406cd41da7eSMilanka Ringwald * @param con_handle 14072a029560SMilanka Ringwald * @param status 1408e222d6a0SMatthias Ringwald * @param track 1409e222d6a0SMatthias Ringwald * @param total_tracks 1410e222d6a0SMatthias Ringwald * @param song_length in ms 1411cd41da7eSMilanka Ringwald * @param title_len 1412cd41da7eSMilanka Ringwald * @param title 1413cd41da7eSMilanka Ringwald * @param artist_len 1414cd41da7eSMilanka Ringwald * @param artist 1415cd41da7eSMilanka Ringwald * @param album_len 1416cd41da7eSMilanka Ringwald * @param album 1417cd41da7eSMilanka Ringwald * @param genre_len 1418cd41da7eSMilanka Ringwald * @param genre 1419cd41da7eSMilanka Ringwald */ 14202a029560SMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_INFO 0x03 1421cd41da7eSMilanka Ringwald 14222a029560SMilanka Ringwald /** 14232a029560SMilanka Ringwald * @format 1H111 14242a029560SMilanka Ringwald * @param subevent_code 14252a029560SMilanka Ringwald * @param con_handle 14262a029560SMilanka Ringwald * @param status 14272a029560SMilanka Ringwald * @param repeat_mode 14282a029560SMilanka Ringwald * @param shuffle_mode 14292a029560SMilanka Ringwald */ 14302a029560SMilanka Ringwald #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 0x04 1431cd41da7eSMilanka Ringwald 14326eb7ba29SMilanka Ringwald /** 14336eb7ba29SMilanka Ringwald * @format 1H1441 14346eb7ba29SMilanka Ringwald * @param subevent_code 14356eb7ba29SMilanka Ringwald * @param con_handle 14366eb7ba29SMilanka Ringwald * @param status 14376eb7ba29SMilanka Ringwald * @param song_length 14386eb7ba29SMilanka Ringwald * @param song_position 14396eb7ba29SMilanka Ringwald * @param play_status 14406eb7ba29SMilanka Ringwald */ 14416eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAY_STATUS 0x05 14426eb7ba29SMilanka Ringwald 14436eb7ba29SMilanka Ringwald /** 14446eb7ba29SMilanka Ringwald * @format 1H11 14456eb7ba29SMilanka Ringwald * @param subevent_code 14466eb7ba29SMilanka Ringwald * @param con_handle 14476eb7ba29SMilanka Ringwald * @param status 14486eb7ba29SMilanka Ringwald * @param playback_status 14496eb7ba29SMilanka Ringwald */ 14506eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 0x06 14516eb7ba29SMilanka Ringwald 14526eb7ba29SMilanka Ringwald /** 14536eb7ba29SMilanka Ringwald * @format 1H11 14546eb7ba29SMilanka Ringwald * @param subevent_code 14556eb7ba29SMilanka Ringwald * @param con_handle 14566eb7ba29SMilanka Ringwald * @param status 14576eb7ba29SMilanka Ringwald * @param track_status 14586eb7ba29SMilanka Ringwald */ 14596eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 0x07 14606eb7ba29SMilanka Ringwald 14616eb7ba29SMilanka Ringwald /** 14626eb7ba29SMilanka Ringwald * @format 1H1 14636eb7ba29SMilanka Ringwald * @param subevent_code 14646eb7ba29SMilanka Ringwald * @param con_handle 14656eb7ba29SMilanka Ringwald * @param status 14666eb7ba29SMilanka Ringwald */ 14676eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 0x08 14686eb7ba29SMilanka Ringwald 14696eb7ba29SMilanka Ringwald /** 14706eb7ba29SMilanka Ringwald * @format 1H1 14716eb7ba29SMilanka Ringwald * @param subevent_code 14726eb7ba29SMilanka Ringwald * @param con_handle 14736eb7ba29SMilanka Ringwald * @param status 14746eb7ba29SMilanka Ringwald */ 14756eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 0x09 14766eb7ba29SMilanka Ringwald 14776eb7ba29SMilanka Ringwald /** 14786eb7ba29SMilanka Ringwald * @format 1H11 14796eb7ba29SMilanka Ringwald * @param subevent_code 14806eb7ba29SMilanka Ringwald * @param con_handle 14816eb7ba29SMilanka Ringwald * @param status 14826eb7ba29SMilanka Ringwald * @param absolute_volume 14836eb7ba29SMilanka Ringwald */ 14846eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 0x0A 14856eb7ba29SMilanka Ringwald 14866eb7ba29SMilanka Ringwald /** 14876eb7ba29SMilanka Ringwald * @format 1H11 14886eb7ba29SMilanka Ringwald * @param subevent_code 14896eb7ba29SMilanka Ringwald * @param con_handle 14906eb7ba29SMilanka Ringwald * @param status 14916eb7ba29SMilanka Ringwald * @param absolute_volume 14926eb7ba29SMilanka Ringwald */ 14936eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 0x0B 14946eb7ba29SMilanka Ringwald 14956eb7ba29SMilanka Ringwald /** 14966eb7ba29SMilanka Ringwald * @format 1H11 14976eb7ba29SMilanka Ringwald * @param subevent_code 14986eb7ba29SMilanka Ringwald * @param con_handle 14996eb7ba29SMilanka Ringwald * @param status 15006eb7ba29SMilanka Ringwald * @param notification_id 15016eb7ba29SMilanka Ringwald */ 15026eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 0x0C 15036eb7ba29SMilanka Ringwald 15046eb7ba29SMilanka Ringwald /** 15056eb7ba29SMilanka Ringwald * @format 1H11 15066eb7ba29SMilanka Ringwald * @param subevent_code 15076eb7ba29SMilanka Ringwald * @param con_handle 15086eb7ba29SMilanka Ringwald * @param status 15096eb7ba29SMilanka Ringwald * @param operation_id 15106eb7ba29SMilanka Ringwald */ 15116eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_START 0x0D 15126eb7ba29SMilanka Ringwald 15136eb7ba29SMilanka Ringwald /** 15146eb7ba29SMilanka Ringwald * @format 1H11 15156eb7ba29SMilanka Ringwald * @param subevent_code 15166eb7ba29SMilanka Ringwald * @param con_handle 15176eb7ba29SMilanka Ringwald * @param status 15186eb7ba29SMilanka Ringwald * @param operation_id 15196eb7ba29SMilanka Ringwald */ 15206eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_COMPLETE 0x0E 15216eb7ba29SMilanka Ringwald 15226eb7ba29SMilanka Ringwald /** 15236eb7ba29SMilanka Ringwald * @format 1H1 15246eb7ba29SMilanka Ringwald * @param subevent_code 15256eb7ba29SMilanka Ringwald * @param con_handle 15266eb7ba29SMilanka Ringwald * @param status 15276eb7ba29SMilanka Ringwald */ 15286eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 0x0F 15296eb7ba29SMilanka Ringwald 1530f1b34e8dSMatthias Ringwald /** 1531f1b34e8dSMatthias Ringwald * @format 121BH1 1532f1b34e8dSMatthias Ringwald * @param subevent_code 1533f1b34e8dSMatthias Ringwald * @param goep_cid 1534f1b34e8dSMatthias Ringwald * @param status 1535f1b34e8dSMatthias Ringwald * @param bd_addr 1536f1b34e8dSMatthias Ringwald * @param con_handle 1537f1b34e8dSMatthias Ringwald * @param incoming 1538f1b34e8dSMatthias Ringwald */ 1539f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_OPENED 0x01 15406eb7ba29SMilanka Ringwald 1541f1b34e8dSMatthias Ringwald /** 1542f1b34e8dSMatthias Ringwald * @format 12 1543f1b34e8dSMatthias Ringwald * @param subevent_code 1544f1b34e8dSMatthias Ringwald * @param goep_cid 1545f1b34e8dSMatthias Ringwald */ 1546f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_CLOSED 0x02 1547f1b34e8dSMatthias Ringwald 1548f1b34e8dSMatthias Ringwald /** 1549f1b34e8dSMatthias Ringwald * @format 12 1550f1b34e8dSMatthias Ringwald * @param subevent_code 1551f1b34e8dSMatthias Ringwald * @param goep_cid 1552f1b34e8dSMatthias Ringwald */ 1553f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CAN_SEND_NOW 0x03 1554f1b34e8dSMatthias Ringwald 1555f1b34e8dSMatthias Ringwald /** 1556f1b34e8dSMatthias Ringwald * @format 121BH1 1557f1b34e8dSMatthias Ringwald * @param subevent_code 1558f1b34e8dSMatthias Ringwald * @param pbap_cid 1559f1b34e8dSMatthias Ringwald * @param status 1560f1b34e8dSMatthias Ringwald * @param bd_addr 1561f1b34e8dSMatthias Ringwald * @param con_handle 1562f1b34e8dSMatthias Ringwald * @param incoming 1563f1b34e8dSMatthias Ringwald */ 1564f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_OPENED 0x01 1565f1b34e8dSMatthias Ringwald 1566f1b34e8dSMatthias Ringwald /** 1567f1b34e8dSMatthias Ringwald * @format 12 1568f1b34e8dSMatthias Ringwald * @param subevent_code 1569f1b34e8dSMatthias Ringwald * @param goep_cid 1570f1b34e8dSMatthias Ringwald */ 1571f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_CLOSED 0x02 1572f1b34e8dSMatthias Ringwald 1573f1b34e8dSMatthias Ringwald /** 1574f1b34e8dSMatthias Ringwald * @format 121 1575f1b34e8dSMatthias Ringwald * @param subevent_code 1576f1b34e8dSMatthias Ringwald * @param goep_cid 1577f1b34e8dSMatthias Ringwald * @param status 1578f1b34e8dSMatthias Ringwald */ 1579f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_OPERATION_COMPLETED 0x03 15806eb7ba29SMilanka Ringwald 1581dd148ddbSMatthias Ringwald /** 1582dd148ddbSMatthias Ringwald * @format 121BH1 1583dd148ddbSMatthias Ringwald * @param subevent_code 1584dd148ddbSMatthias Ringwald * @param hid_cid 1585dd148ddbSMatthias Ringwald * @param status 1586dd148ddbSMatthias Ringwald * @param bd_addr 1587dd148ddbSMatthias Ringwald * @param con_handle 1588dd148ddbSMatthias Ringwald * @param incoming 1589dd148ddbSMatthias Ringwald */ 1590dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_OPENED 0x01 1591dd148ddbSMatthias Ringwald 1592dd148ddbSMatthias Ringwald /** 1593dd148ddbSMatthias Ringwald * @format 12 1594dd148ddbSMatthias Ringwald * @param subevent_code 1595dd148ddbSMatthias Ringwald * @param hid_cid 1596dd148ddbSMatthias Ringwald */ 1597dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_CLOSED 0x02 1598dd148ddbSMatthias Ringwald 1599dd148ddbSMatthias Ringwald /** 1600dd148ddbSMatthias Ringwald * @format 12 1601dd148ddbSMatthias Ringwald * @param subevent_code 1602dd148ddbSMatthias Ringwald * @param hid_cid 1603dd148ddbSMatthias Ringwald */ 1604dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CAN_SEND_NOW 0x03 1605dd148ddbSMatthias Ringwald 1606941b3855SMatthias Ringwald #endif 1607