1941b3855SMatthias Ringwald /* 2941b3855SMatthias Ringwald * Copyright (C) 2015 BlueKitchen GmbH 3941b3855SMatthias Ringwald * 4941b3855SMatthias Ringwald * Redistribution and use in source and binary forms, with or without 5941b3855SMatthias Ringwald * modification, are permitted provided that the following conditions 6941b3855SMatthias Ringwald * are met: 7941b3855SMatthias Ringwald * 8941b3855SMatthias Ringwald * 1. Redistributions of source code must retain the above copyright 9941b3855SMatthias Ringwald * notice, this list of conditions and the following disclaimer. 10941b3855SMatthias Ringwald * 2. Redistributions in binary form must reproduce the above copyright 11941b3855SMatthias Ringwald * notice, this list of conditions and the following disclaimer in the 12941b3855SMatthias Ringwald * documentation and/or other materials provided with the distribution. 13941b3855SMatthias Ringwald * 3. Neither the name of the copyright holders nor the names of 14941b3855SMatthias Ringwald * contributors may be used to endorse or promote products derived 15941b3855SMatthias Ringwald * from this software without specific prior written permission. 16941b3855SMatthias Ringwald * 4. Any redistribution, use, or modification is done solely for 17941b3855SMatthias Ringwald * personal benefit and not for any commercial purpose or for 18941b3855SMatthias Ringwald * monetary gain. 19941b3855SMatthias Ringwald * 20941b3855SMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21941b3855SMatthias Ringwald * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22941b3855SMatthias Ringwald * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23941b3855SMatthias Ringwald * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS 24941b3855SMatthias Ringwald * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25941b3855SMatthias Ringwald * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26941b3855SMatthias Ringwald * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27941b3855SMatthias Ringwald * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28941b3855SMatthias Ringwald * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29941b3855SMatthias Ringwald * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30941b3855SMatthias Ringwald * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31941b3855SMatthias Ringwald * SUCH DAMAGE. 32941b3855SMatthias Ringwald * 33941b3855SMatthias Ringwald * Please inquire about commercial licensing options at 34941b3855SMatthias Ringwald * [email protected] 35941b3855SMatthias Ringwald * 36941b3855SMatthias Ringwald */ 37941b3855SMatthias Ringwald 38941b3855SMatthias Ringwald /* 39941b3855SMatthias Ringwald * btstack-defines.h 40941b3855SMatthias Ringwald * 41941b3855SMatthias Ringwald * BTstack definitions, events, and error codes */ 42941b3855SMatthias Ringwald 43941b3855SMatthias Ringwald #ifndef __BTSTACK_DEFINES_H 44941b3855SMatthias Ringwald #define __BTSTACK_DEFINES_H 45941b3855SMatthias Ringwald 468974fcd6SMatthias Ringwald #include <stdint.h> 478974fcd6SMatthias Ringwald #include "btstack_linked_list.h" 488974fcd6SMatthias Ringwald 49f3963406SMatthias Ringwald 50f3963406SMatthias Ringwald // UNUSED macro 51f3963406SMatthias Ringwald #define UNUSED(x) (void)(sizeof(x)) 52f3963406SMatthias Ringwald 538974fcd6SMatthias Ringwald // TYPES 548974fcd6SMatthias Ringwald 558974fcd6SMatthias Ringwald // packet handler 568974fcd6SMatthias Ringwald typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); 578974fcd6SMatthias Ringwald 588974fcd6SMatthias Ringwald // packet callback supporting multiple registrations 598974fcd6SMatthias Ringwald typedef struct { 608974fcd6SMatthias Ringwald btstack_linked_item_t item; 618974fcd6SMatthias Ringwald btstack_packet_handler_t callback; 628974fcd6SMatthias Ringwald } btstack_packet_callback_registration_t; 638974fcd6SMatthias Ringwald 64bb38f057SMatthias Ringwald // context callback supporting multiple registrations 65bb38f057SMatthias Ringwald typedef struct { 66bb38f057SMatthias Ringwald btstack_linked_item_t * item; 67bb38f057SMatthias Ringwald void (*callback)(void * context); 68bb38f057SMatthias Ringwald void * context; 69bb38f057SMatthias Ringwald } btstack_context_callback_registration_t; 70bb38f057SMatthias Ringwald 71f7a05cdaSMatthias Ringwald /** 728974fcd6SMatthias Ringwald * @brief 128 bit key used with AES128 in Security Manager 73f7a05cdaSMatthias Ringwald */ 748974fcd6SMatthias Ringwald typedef uint8_t sm_key_t[16]; 75f7a05cdaSMatthias Ringwald 76941b3855SMatthias Ringwald // DEFINES 77941b3855SMatthias Ringwald 78*7149bde5SMatthias Ringwald // hci con handles (12 bit): 0x0000..0x0fff 79*7149bde5SMatthias Ringwald #define HCI_CON_HANDLE_INVALID 0xffff 80*7149bde5SMatthias Ringwald 81*7149bde5SMatthias Ringwald 82941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET 0x05 83941b3855SMatthias Ringwald 84941b3855SMatthias Ringwald // L2CAP data 85941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET 0x06 86941b3855SMatthias Ringwald 87941b3855SMatthias Ringwald // RFCOMM data 88941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET 0x07 89941b3855SMatthias Ringwald 90941b3855SMatthias Ringwald // Attribute protocol data 91941b3855SMatthias Ringwald #define ATT_DATA_PACKET 0x08 92941b3855SMatthias Ringwald 93941b3855SMatthias Ringwald // Security Manager protocol data 94941b3855SMatthias Ringwald #define SM_DATA_PACKET 0x09 95941b3855SMatthias Ringwald 96f1b34e8dSMatthias Ringwald // SDP query result - only used by daemon 97941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k) 98941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET 0x0a 99941b3855SMatthias Ringwald 100941b3855SMatthias Ringwald // BNEP data 101941b3855SMatthias Ringwald #define BNEP_DATA_PACKET 0x0b 102941b3855SMatthias Ringwald 103941b3855SMatthias Ringwald // Unicast Connectionless Data 104941b3855SMatthias Ringwald #define UCD_DATA_PACKET 0x0c 105941b3855SMatthias Ringwald 106f1b34e8dSMatthias Ringwald // GOEP data 107f1b34e8dSMatthias Ringwald #define GOEP_DATA_PACKET 0x0d 108f1b34e8dSMatthias Ringwald 109f1b34e8dSMatthias Ringwald // PBAP data 110f1b34e8dSMatthias Ringwald #define PBAP_DATA_PACKET 0x0e 111f1b34e8dSMatthias Ringwald 112941b3855SMatthias Ringwald // debug log messages 113941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET 0xfc 114941b3855SMatthias Ringwald 115941b3855SMatthias Ringwald 116941b3855SMatthias Ringwald // ERRORS 117941b3855SMatthias Ringwald 118941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors 119941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED 0x50 120941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH 0x51 121941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED 0x52 122941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN 0x53 123941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED 0x54 124941b3855SMatthias Ringwald #define BTSTACK_BUSY 0x55 125941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED 0x56 126941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL 0x57 127941b3855SMatthias Ringwald 128941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them 129941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60 130941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61 131941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62 132941b3855SMatthias Ringwald 133941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL 0x63 134941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING 0x64 135941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM 0x65 136941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY 0x66 137941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67 138941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT 0x68 139941b3855SMatthias Ringwald 140941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED 0x69 141941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU 0x6A 1427e8856ebSMatthias Ringwald #define L2CAP_SERVICE_DOES_NOT_EXIST 0x6B 14394530c77SMatthias Ringwald #define L2CAP_LOCAL_CID_DOES_NOT_EXIST 0x6C 144941b3855SMatthias Ringwald 145941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED 0x70 146941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED 0x71 147941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS 0x72 148941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF 0x73 149941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU 0x74 150941b3855SMatthias Ringwald 151941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED 0x80 152941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE 0x81 153941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND 0x82 154941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID 0x83 155e5057641SMatthias Ringwald #define SDP_QUERY_BUSY 0x84 156941b3855SMatthias Ringwald 157941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS 0x90 158941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT 0x91 159941b3855SMatthias Ringwald 160941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED 0x93 161941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY 0x94 162616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE 0x95 163616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96 164616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG 0x97 165616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98 166616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED 0x99 167941b3855SMatthias Ringwald 168941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED 0xA0 169941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED 0xA1 170941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU 0xA2 171941b3855SMatthias Ringwald 17262c64df1SMatthias Ringwald // DAEMON COMMANDS 173b3f90e25SMatthias Ringwald 174b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d 175b3f90e25SMatthias Ringwald 176b3f90e25SMatthias Ringwald // cmds for BTstack 177b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE 178b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE 0x01 179b3f90e25SMatthias Ringwald 180045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE 181b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE 0x02 182b3f90e25SMatthias Ringwald 183045013feSMatthias Ringwald // set capture mode: param on 184b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE 0x03 185b3f90e25SMatthias Ringwald 186b3f90e25SMatthias Ringwald // get BTstack version 187b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION 0x04 188b3f90e25SMatthias Ringwald 189b3f90e25SMatthias Ringwald // get system Bluetooth state 190b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED 0x05 191b3f90e25SMatthias Ringwald 192b3f90e25SMatthias Ringwald // set system Bluetooth state 193b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED 0x06 194b3f90e25SMatthias Ringwald 195b3f90e25SMatthias Ringwald // enable inquiry scan for this client 196b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE 0x07 197b3f90e25SMatthias Ringwald 198b3f90e25SMatthias Ringwald // set global Bluetooth state 199b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED 0x08 200b3f90e25SMatthias Ringwald 201045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16) 202b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL 0x20 203b3f90e25SMatthias Ringwald 204045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8) 205b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT 0x21 206b3f90e25SMatthias Ringwald 207045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16) 208b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE 0x22 209b3f90e25SMatthias Ringwald 210045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16) 211b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE 0x23 212b3f90e25SMatthias Ringwald 213045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16) 214b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION 0x24 215b3f90e25SMatthias Ringwald 216045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8) 217b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION 0x25 218b3f90e25SMatthias Ringwald 219045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16) 220b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU 0x26 221b3f90e25SMatthias Ringwald 222b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size) 223b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD 0x30 224b3f90e25SMatthias Ringwald 225b3f90e25SMatthias Ringwald // unregister SDP Service Record 226b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD 0x31 227b3f90e25SMatthias Ringwald 228b3f90e25SMatthias Ringwald // Get remote RFCOMM services 229b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES 0x32 230b3f90e25SMatthias Ringwald 231b3f90e25SMatthias Ringwald // Get remote SDP services 232b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES 0x33 233b3f90e25SMatthias Ringwald 234b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands 235b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL 0x40 236b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT 0x41 237b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE 0x42 238b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE 0x43 239b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION 0x44 240b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION 0x45 241b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL 0x46 242b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS 0x47 243b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48 244b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS 0x49 245b3f90e25SMatthias Ringwald 246b3f90e25SMatthias Ringwald // GAP Classic 0x50 247b3f90e25SMatthias Ringwald #define GAP_DISCONNECT 0x50 248b3f90e25SMatthias Ringwald 249b3f90e25SMatthias Ringwald // GAP LE 0x60 250b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START 0x60 251b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP 0x61 252b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT 0x62 253b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL 0x63 254b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS 0x64 255b3f90e25SMatthias Ringwald 256b3f90e25SMatthias Ringwald // GATT (Client) 0x70 257b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES 0x70 258b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16 0x71 259b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128 0x72 260b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE 0x73 261b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE 0x74 262b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128 0x75 263b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS 0x76 264b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC 0x77 265b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC 0x78 266b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE 0x79 267b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC 0x7A 268b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7B 269b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7C 270b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR 0X7D 271b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR 0X7E 272b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR 0X7F 273b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR 0X80 274b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION 0X81 275b3f90e25SMatthias Ringwald #define GATT_GET_MTU 0x82 276b3f90e25SMatthias Ringwald 277f1b34e8dSMatthias Ringwald // OBEX ERRORS 278f1b34e8dSMatthias Ringwald #define OBEX_UNKNOWN_ERROR 0x90 279f1b34e8dSMatthias Ringwald #define OBEX_CONNECT_FAILED 0x91 280f1b34e8dSMatthias Ringwald #define OBEX_DISCONNECTED 0x92 281f1b34e8dSMatthias Ringwald #define OBEX_NOT_FOUND 0x93 28262c64df1SMatthias Ringwald 283941b3855SMatthias Ringwald // EVENTS 284941b3855SMatthias Ringwald 285941b3855SMatthias Ringwald /** 286941b3855SMatthias Ringwald * @format 1 287941b3855SMatthias Ringwald * @param state 288941b3855SMatthias Ringwald */ 289941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE 0x60 290941b3855SMatthias Ringwald 29152aef63fSMatthias Ringwald /** 29252aef63fSMatthias Ringwald * @format 1 29352aef63fSMatthias Ringwald * @param number_connections 29452aef63fSMatthias Ringwald */ 295941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 0x61 296941b3855SMatthias Ringwald 297941b3855SMatthias Ringwald /** 298941b3855SMatthias Ringwald * @format 299941b3855SMatthias Ringwald */ 300941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED 0x62 301941b3855SMatthias Ringwald 302941b3855SMatthias Ringwald /** 303827b1c43SMatthias Ringwald * @format 1 304827b1c43SMatthias Ringwald * @param discoverable 305827b1c43SMatthias Ringwald */ 306827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED 0x66 307827b1c43SMatthias Ringwald 308827b1c43SMatthias Ringwald // Daemon Events 309827b1c43SMatthias Ringwald 310827b1c43SMatthias Ringwald /** 311941b3855SMatthias Ringwald * @format 112 312941b3855SMatthias Ringwald * @param major 313941b3855SMatthias Ringwald * @param minor 314941b3855SMatthias Ringwald @ @param revision 315941b3855SMatthias Ringwald */ 316827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION 0x63 317941b3855SMatthias Ringwald 318941b3855SMatthias Ringwald // data: system bluetooth on/off (bool) 319e2334cdcSMatthias Ringwald /** 320e2334cdcSMatthias Ringwald * @format 1 321e2334cdcSMatthias Ringwald * param system_bluetooth_enabled 322e2334cdcSMatthias Ringwald */ 323827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 0x64 324941b3855SMatthias Ringwald 325941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes) 326e2334cdcSMatthias Ringwald 327e2334cdcSMatthias Ringwald /* 328e2334cdcSMatthias Ringwald * @format 1BT 329e2334cdcSMatthias Ringwald * @param status == 0 to match read_remote_name_request 330e2334cdcSMatthias Ringwald * @param address 331e2334cdcSMatthias Ringwald * @param name 332e2334cdcSMatthias Ringwald */ 333827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED 0x65 334941b3855SMatthias Ringwald 33562c64df1SMatthias Ringwald // internal - data: event(8) 336e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED 0x67 337941b3855SMatthias Ringwald 33862c64df1SMatthias Ringwald // internal - data: event(8) 339e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED 0x68 340941b3855SMatthias Ringwald 34162c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8) 34262c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS 0x74 34362c64df1SMatthias Ringwald 34462c64df1SMatthias Ringwald /** 34562c64df1SMatthias Ringwald * @format 12 34662c64df1SMatthias Ringwald * @param status 34762c64df1SMatthias Ringwald * @param psm 34862c64df1SMatthias Ringwald */ 34962c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 0x75 35062c64df1SMatthias Ringwald 35162c64df1SMatthias Ringwald /** 35262c64df1SMatthias Ringwald * @format 21 35362c64df1SMatthias Ringwald * @param rfcomm_cid 35462c64df1SMatthias Ringwald * @param credits 35562c64df1SMatthias Ringwald */ 35662c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS 0x84 35762c64df1SMatthias Ringwald 35862c64df1SMatthias Ringwald /** 35962c64df1SMatthias Ringwald * @format 11 36062c64df1SMatthias Ringwald * @param status 36162c64df1SMatthias Ringwald * @param channel_id 36262c64df1SMatthias Ringwald */ 363fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 0x85 364fea5a680SMatthias Ringwald 36562c64df1SMatthias Ringwald /** 36662c64df1SMatthias Ringwald * @format 11 36762c64df1SMatthias Ringwald * @param status 36862c64df1SMatthias Ringwald * @param server_channel_id 36962c64df1SMatthias Ringwald */ 37062c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 0x86 37162c64df1SMatthias Ringwald 37262c64df1SMatthias Ringwald /** 37362c64df1SMatthias Ringwald * @format 14 37462c64df1SMatthias Ringwald * @param status 37562c64df1SMatthias Ringwald * @param service_record_handle 37662c64df1SMatthias Ringwald */ 37762c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED 0x90 37862c64df1SMatthias Ringwald 37962c64df1SMatthias Ringwald 380827b1c43SMatthias Ringwald 3813bc639ceSMatthias Ringwald // additional HCI events 38263fa3374SMatthias Ringwald 38363fa3374SMatthias Ringwald /** 38462ca45d7SMatthias Ringwald * @brief Indicates HCI transport enters/exits Sleep mode 38562ca45d7SMatthias Ringwald * @format 1 38662ca45d7SMatthias Ringwald * @param active 38762ca45d7SMatthias Ringwald */ 388d16a0392SMatthias Ringwald #define HCI_EVENT_TRANSPORT_SLEEP_MODE 0x69 38962ca45d7SMatthias Ringwald 39062ca45d7SMatthias Ringwald /** 39163fa3374SMatthias Ringwald * @brief Outgoing packet 39263fa3374SMatthias Ringwald */ 39363fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT 0x6E 39463fa3374SMatthias Ringwald 3953bc639ceSMatthias Ringwald /** 3963bc639ceSMatthias Ringwald * @format B 3973bc639ceSMatthias Ringwald * @param handle 3983bc639ceSMatthias Ringwald */ 3993bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW 0x6F 4003bc639ceSMatthias Ringwald 40162c64df1SMatthias Ringwald 402941b3855SMatthias Ringwald // L2CAP EVENTS 403941b3855SMatthias Ringwald 404b072ba33SMatthias Ringwald /** 405bab5f4f0SMatthias Ringwald * @format 1BH2222221 406b072ba33SMatthias Ringwald * @param status 407b072ba33SMatthias Ringwald * @param address 408b072ba33SMatthias Ringwald * @param handle 409b072ba33SMatthias Ringwald * @param psm 410b072ba33SMatthias Ringwald * @param local_cid 411b072ba33SMatthias Ringwald * @param remote_cid 412b072ba33SMatthias Ringwald * @param local_mtu 413b072ba33SMatthias Ringwald * @param remote_mtu 414b072ba33SMatthias Ringwald * @param flush_timeout 415bab5f4f0SMatthias Ringwald * @param incoming 416b072ba33SMatthias Ringwald */ 417941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED 0x70 418941b3855SMatthias Ringwald 419b072ba33SMatthias Ringwald /* 420b072ba33SMatthias Ringwald * @format 2 421b072ba33SMatthias Ringwald * @param local_cid 422b072ba33SMatthias Ringwald */ 423941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED 0x71 424941b3855SMatthias Ringwald 425b072ba33SMatthias Ringwald /** 4266d4269d3SMilanka Ringwald * @format BH222 427b072ba33SMatthias Ringwald * @param address 428b072ba33SMatthias Ringwald * @param handle 429b072ba33SMatthias Ringwald * @param psm 430b072ba33SMatthias Ringwald * @param local_cid 431b072ba33SMatthias Ringwald * @param remote_cid 432b072ba33SMatthias Ringwald */ 433941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION 0x72 434941b3855SMatthias Ringwald 435b072ba33SMatthias Ringwald // ?? 436941b3855SMatthias Ringwald // data: event(8), len(8), handle(16) 437941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK 0x73 438941b3855SMatthias Ringwald 439b072ba33SMatthias Ringwald /** 440b072ba33SMatthias Ringwald * @format H2222 441b072ba33SMatthias Ringwald * @param handle 442b072ba33SMatthias Ringwald * @param interval_min 443b072ba33SMatthias Ringwald * @param interval_max 444b072ba33SMatthias Ringwald * @param latencey 445b072ba33SMatthias Ringwald * @param timeout_multiplier 446b072ba33SMatthias Ringwald */ 447941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 0x76 448941b3855SMatthias Ringwald 449941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail) 450b072ba33SMatthias Ringwald /** 451b072ba33SMatthias Ringwald * @format H2 452b072ba33SMatthias Ringwald * @param handle 4532c737695SMatthias Ringwald * @param result 454b072ba33SMatthias Ringwald */ 455941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 0x77 456941b3855SMatthias Ringwald 457b072ba33SMatthias Ringwald /** 458b072ba33SMatthias Ringwald * @format 2 459b072ba33SMatthias Ringwald * @param local_cid 460b072ba33SMatthias Ringwald */ 461b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW 0x78 462b072ba33SMatthias Ringwald 46344276248SMatthias Ringwald // LE Data Channels 46444276248SMatthias Ringwald 46544276248SMatthias Ringwald /** 46644276248SMatthias Ringwald * @format 1BH2222 46744276248SMatthias Ringwald * @param address_type 46844276248SMatthias Ringwald * @param address 46944276248SMatthias Ringwald * @param handle 47044276248SMatthias Ringwald * @param psm 47144276248SMatthias Ringwald * @param local_cid 47244276248SMatthias Ringwald * @param remote_cid 47344276248SMatthias Ringwald * @param remote_mtu 47444276248SMatthias Ringwald */ 47544276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION 0x79 47644276248SMatthias Ringwald 47744276248SMatthias Ringwald /** 47812242deaSMatthias Ringwald * @format 11BH122222 47944276248SMatthias Ringwald * @param status 48044276248SMatthias Ringwald * @param address_type 48144276248SMatthias Ringwald * @param address 48244276248SMatthias Ringwald * @param handle 48312242deaSMatthias Ringwald * @param incoming 48444276248SMatthias Ringwald * @param psm 48544276248SMatthias Ringwald * @param local_cid 48644276248SMatthias Ringwald * @param remote_cid 48744276248SMatthias Ringwald * @param local_mtu 48844276248SMatthias Ringwald * @param remote_mtu 48944276248SMatthias Ringwald */ 49044276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED 0x7a 49144276248SMatthias Ringwald 49244276248SMatthias Ringwald /* 49344276248SMatthias Ringwald * @format 2 49444276248SMatthias Ringwald * @param local_cid 49544276248SMatthias Ringwald */ 49644276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED 0x7b 49744276248SMatthias Ringwald 49844276248SMatthias Ringwald /* 49944276248SMatthias Ringwald * @format 2 50044276248SMatthias Ringwald * @param local_cid 50144276248SMatthias Ringwald */ 50244276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW 0x7c 50344276248SMatthias Ringwald 50444276248SMatthias Ringwald /* 50544276248SMatthias Ringwald * @format 2 50644276248SMatthias Ringwald * @param local_cid 50744276248SMatthias Ringwald */ 50844276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT 0x7d 50944276248SMatthias Ringwald 51044276248SMatthias Ringwald 511941b3855SMatthias Ringwald // RFCOMM EVENTS 512b072ba33SMatthias Ringwald 513941b3855SMatthias Ringwald /** 514bab5f4f0SMatthias Ringwald * @format 1B21221 515941b3855SMatthias Ringwald * @param status 516941b3855SMatthias Ringwald * @param bd_addr 517941b3855SMatthias Ringwald * @param con_handle 518941b3855SMatthias Ringwald * @param server_channel 519941b3855SMatthias Ringwald * @param rfcomm_cid 520941b3855SMatthias Ringwald * @param max_frame_size 521bab5f4f0SMatthias Ringwald * @param incoming 522941b3855SMatthias Ringwald */ 523f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED 0x80 524941b3855SMatthias Ringwald 525941b3855SMatthias Ringwald /** 526941b3855SMatthias Ringwald * @format 2 527941b3855SMatthias Ringwald * @param rfcomm_cid 528941b3855SMatthias Ringwald */ 529941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED 0x81 530941b3855SMatthias Ringwald 531941b3855SMatthias Ringwald /** 532941b3855SMatthias Ringwald * @format B12 533941b3855SMatthias Ringwald * @param bd_addr 534941b3855SMatthias Ringwald * @param server_channel 535941b3855SMatthias Ringwald * @param rfcomm_cid 536941b3855SMatthias Ringwald */ 537941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION 0x82 538941b3855SMatthias Ringwald 539941b3855SMatthias Ringwald /** 540941b3855SMatthias Ringwald * @format 21 541941b3855SMatthias Ringwald * @param rfcomm_cid 542941b3855SMatthias Ringwald * @param line_status 543941b3855SMatthias Ringwald */ 544941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS 0x83 545941b3855SMatthias Ringwald 546941b3855SMatthias Ringwald /** 547941b3855SMatthias Ringwald * @format 21 548941b3855SMatthias Ringwald * @param rfcomm_cid 549941b3855SMatthias Ringwald * @param modem_status 550941b3855SMatthias Ringwald */ 551941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS 0x87 552941b3855SMatthias Ringwald 553941b3855SMatthias Ringwald /** 5547bd8e93bSMatthias Ringwald * TODO: format for variable data 2? 555045013feSMatthias Ringwald * param rfcomm_cid 556045013feSMatthias Ringwald * param rpn_data 557941b3855SMatthias Ringwald */ 558941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION 0x88 559941b3855SMatthias Ringwald 560941b3855SMatthias Ringwald /** 561b072ba33SMatthias Ringwald * @format 2 56262c468cbSMatthias Ringwald * @param rfcomm_cid 563b072ba33SMatthias Ringwald */ 564b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW 0x89 565b072ba33SMatthias Ringwald 566b072ba33SMatthias Ringwald 567b072ba33SMatthias Ringwald /** 568941b3855SMatthias Ringwald * @format 1 569941b3855SMatthias Ringwald * @param status 570941b3855SMatthias Ringwald */ 5715611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE 0x91 572941b3855SMatthias Ringwald 573941b3855SMatthias Ringwald /** 574941b3855SMatthias Ringwald * @format 1T 575941b3855SMatthias Ringwald * @param rfcomm_channel 576941b3855SMatthias Ringwald * @param name 577941b3855SMatthias Ringwald */ 5785611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE 0x92 579941b3855SMatthias Ringwald 580941b3855SMatthias Ringwald /** 5814225393cSMatthias Ringwald * @format 22221 5824225393cSMatthias Ringwald * @param record_id 583941b3855SMatthias Ringwald * @param attribute_id 5844225393cSMatthias Ringwald * @param attribute_length 5854225393cSMatthias Ringwald * @param data_offset 5864225393cSMatthias Ringwald * @param data 587941b3855SMatthias Ringwald */ 5885611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE 0x93 589941b3855SMatthias Ringwald 5904de250b4SMatthias Ringwald /** 5914de250b4SMatthias Ringwald * @format 22LV 5924de250b4SMatthias Ringwald * @param record_id 5934de250b4SMatthias Ringwald * @param attribute_id 5944de250b4SMatthias Ringwald * @param attribute_length 5954de250b4SMatthias Ringwald * @param attribute_value 5964de250b4SMatthias Ringwald */ 5975611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE 0x94 5984225393cSMatthias Ringwald 5994225393cSMatthias Ringwald /** 6004225393cSMatthias Ringwald * @format 224 6014225393cSMatthias Ringwald * @param total_count 6024225393cSMatthias Ringwald * @param record_index 6034225393cSMatthias Ringwald * @param record_handle 6044225393cSMatthias Ringwald * @note Not provided by daemon, only used for internal testing 6054225393cSMatthias Ringwald */ 6065611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 0x95 607941b3855SMatthias Ringwald 608941b3855SMatthias Ringwald /** 609941b3855SMatthias Ringwald * @format H1 610941b3855SMatthias Ringwald * @param handle 611941b3855SMatthias Ringwald * @param status 612941b3855SMatthias Ringwald */ 6135611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE 0xA0 614941b3855SMatthias Ringwald 615941b3855SMatthias Ringwald /** 616941b3855SMatthias Ringwald * @format HX 617941b3855SMatthias Ringwald * @param handle 618941b3855SMatthias Ringwald * @param service 619941b3855SMatthias Ringwald */ 6205611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT 0xA1 621941b3855SMatthias Ringwald 622941b3855SMatthias Ringwald /** 623941b3855SMatthias Ringwald * @format HY 624941b3855SMatthias Ringwald * @param handle 625941b3855SMatthias Ringwald * @param characteristic 626941b3855SMatthias Ringwald */ 6275611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 0xA2 628941b3855SMatthias Ringwald 629941b3855SMatthias Ringwald /** 630941b3855SMatthias Ringwald * @format H2X 631941b3855SMatthias Ringwald * @param handle 632941b3855SMatthias Ringwald * @param include_handle 633941b3855SMatthias Ringwald * @param service 634941b3855SMatthias Ringwald */ 6355611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 0xA3 636941b3855SMatthias Ringwald 637941b3855SMatthias Ringwald /** 638941b3855SMatthias Ringwald * @format HZ 639941b3855SMatthias Ringwald * @param handle 640941b3855SMatthias Ringwald * @param characteristic_descriptor 641941b3855SMatthias Ringwald */ 6425611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 0xA4 643941b3855SMatthias Ringwald 644941b3855SMatthias Ringwald /** 645941b3855SMatthias Ringwald * @format H2LV 646941b3855SMatthias Ringwald * @param handle 647941b3855SMatthias Ringwald * @param value_handle 648941b3855SMatthias Ringwald * @param value_length 649941b3855SMatthias Ringwald * @param value 650941b3855SMatthias Ringwald */ 6515611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA5 652941b3855SMatthias Ringwald 653941b3855SMatthias Ringwald /** 654941b3855SMatthias Ringwald * @format H22LV 655941b3855SMatthias Ringwald * @param handle 656941b3855SMatthias Ringwald * @param value_handle 657941b3855SMatthias Ringwald * @param value_offset 658941b3855SMatthias Ringwald * @param value_length 659941b3855SMatthias Ringwald * @param value 660941b3855SMatthias Ringwald */ 6615611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA6 662941b3855SMatthias Ringwald 663941b3855SMatthias Ringwald /** 664941b3855SMatthias Ringwald * @format H2LV 665941b3855SMatthias Ringwald * @param handle 666941b3855SMatthias Ringwald * @param value_handle 667941b3855SMatthias Ringwald * @param value_length 668941b3855SMatthias Ringwald * @param value 669941b3855SMatthias Ringwald */ 6705611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION 0xA7 671941b3855SMatthias Ringwald 672941b3855SMatthias Ringwald /** 673941b3855SMatthias Ringwald * @format H2LV 674941b3855SMatthias Ringwald * @param handle 675941b3855SMatthias Ringwald * @param value_handle 676941b3855SMatthias Ringwald * @param value_length 677941b3855SMatthias Ringwald * @param value 678941b3855SMatthias Ringwald */ 6795611a760SMatthias Ringwald #define GATT_EVENT_INDICATION 0xA8 680941b3855SMatthias Ringwald 681941b3855SMatthias Ringwald /** 682941b3855SMatthias Ringwald * @format H2LV 6832c737695SMatthias Ringwald * @param handle 684941b3855SMatthias Ringwald * @param descriptor_handle 685941b3855SMatthias Ringwald * @param descriptor_length 686941b3855SMatthias Ringwald * @param descriptor 687941b3855SMatthias Ringwald */ 6885611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xA9 689941b3855SMatthias Ringwald 690941b3855SMatthias Ringwald /** 691941b3855SMatthias Ringwald * @format H2LV 692941b3855SMatthias Ringwald * @param handle 693941b3855SMatthias Ringwald * @param descriptor_offset 694941b3855SMatthias Ringwald * @param descriptor_length 695941b3855SMatthias Ringwald * @param descriptor 696941b3855SMatthias Ringwald */ 6975611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xAA 698941b3855SMatthias Ringwald 699941b3855SMatthias Ringwald /** 700941b3855SMatthias Ringwald * @format H2 701941b3855SMatthias Ringwald * @param handle 702941b3855SMatthias Ringwald * @param MTU 703941b3855SMatthias Ringwald */ 7045611a760SMatthias Ringwald #define GATT_EVENT_MTU 0xAB 705941b3855SMatthias Ringwald 706941b3855SMatthias Ringwald /** 707941b3855SMatthias Ringwald * @format H2 708941b3855SMatthias Ringwald * @param handle 709941b3855SMatthias Ringwald * @param MTU 710941b3855SMatthias Ringwald */ 7115611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE 0xB5 712941b3855SMatthias Ringwald 71349d18261SMatthias Ringwald /** 71449d18261SMatthias Ringwald * @format 1H2 71549d18261SMatthias Ringwald * @param status 71649d18261SMatthias Ringwald * @param conn_handle 71749d18261SMatthias Ringwald * @param attribute_handle 71849d18261SMatthias Ringwald */ 7195611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 0xB6 720941b3855SMatthias Ringwald 72149d18261SMatthias Ringwald /** 72249d18261SMatthias Ringwald * @format 72349d18261SMatthias Ringwald */ 72449d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW 0xB7 725941b3855SMatthias Ringwald 72649d18261SMatthias Ringwald // TODO: daemon only event 72749d18261SMatthias Ringwald 72849d18261SMatthias Ringwald /** 72949d18261SMatthias Ringwald * @format 12 73049d18261SMatthias Ringwald * @param status 73149d18261SMatthias Ringwald * @param service_uuid 73249d18261SMatthias Ringwald */ 733941b3855SMatthias Ringwald #define BNEP_EVENT_SERVICE_REGISTERED 0xC0 734941b3855SMatthias Ringwald 73549d18261SMatthias Ringwald /** 736423c667cSMatthias Ringwald * @format 12222B 73749d18261SMatthias Ringwald * @param status 738423c667cSMatthias Ringwald * @param bnep_cid 73949d18261SMatthias Ringwald * @param source_uuid 74049d18261SMatthias Ringwald * @param destination_uuid 74149d18261SMatthias Ringwald * @param mtu 74249d18261SMatthias Ringwald * @param remote_address 74349d18261SMatthias Ringwald */ 744423c667cSMatthias Ringwald #define BNEP_EVENT_CHANNEL_OPENED 0xC1 745941b3855SMatthias Ringwald 74649d18261SMatthias Ringwald /** 747423c667cSMatthias Ringwald * @format 222B 748423c667cSMatthias Ringwald * @param bnep_cid 74949d18261SMatthias Ringwald * @param source_uuid 75049d18261SMatthias Ringwald * @param destination_uuid 75149d18261SMatthias Ringwald * @param remote_address 75249d18261SMatthias Ringwald */ 753941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_CLOSED 0xC2 754941b3855SMatthias Ringwald 75549d18261SMatthias Ringwald /** 756423c667cSMatthias Ringwald * @format 222B1 757423c667cSMatthias Ringwald * @param bnep_cid 75849d18261SMatthias Ringwald * @param source_uuid 75949d18261SMatthias Ringwald * @param destination_uuid 76049d18261SMatthias Ringwald * @param remote_address 76149d18261SMatthias Ringwald * @param channel_state 76249d18261SMatthias Ringwald */ 763941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT 0xC3 764941b3855SMatthias Ringwald 76549d18261SMatthias Ringwald /** 766423c667cSMatthias Ringwald * @format 222B 767423c667cSMatthias Ringwald * @param bnep_cid 76849d18261SMatthias Ringwald * @param source_uuid 76949d18261SMatthias Ringwald * @param destination_uuid 77049d18261SMatthias Ringwald * @param remote_address 77149d18261SMatthias Ringwald */ 7722d4c8c04SMatthias Ringwald #define BNEP_EVENT_CAN_SEND_NOW 0xC4 773941b3855SMatthias Ringwald 774941b3855SMatthias Ringwald /** 775941b3855SMatthias Ringwald * @format H1B 776941b3855SMatthias Ringwald * @param handle 777941b3855SMatthias Ringwald * @param addr_type 778941b3855SMatthias Ringwald * @param address 779941b3855SMatthias Ringwald */ 7805611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST 0xD0 781941b3855SMatthias Ringwald 782941b3855SMatthias Ringwald /** 783941b3855SMatthias Ringwald * @format H1B 784941b3855SMatthias Ringwald * @param handle 785941b3855SMatthias Ringwald * @param addr_type 786941b3855SMatthias Ringwald * @param address 787941b3855SMatthias Ringwald */ 7885611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL 0xD1 789941b3855SMatthias Ringwald 790941b3855SMatthias Ringwald /** 791941b3855SMatthias Ringwald * @format H1B4 792941b3855SMatthias Ringwald * @param handle 793941b3855SMatthias Ringwald * @param addr_type 794941b3855SMatthias Ringwald * @param address 795941b3855SMatthias Ringwald * @param passkey 796941b3855SMatthias Ringwald */ 7975611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER 0xD2 798941b3855SMatthias Ringwald 799941b3855SMatthias Ringwald /** 800941b3855SMatthias Ringwald * @format H1B 801941b3855SMatthias Ringwald * @param handle 802941b3855SMatthias Ringwald * @param addr_type 803941b3855SMatthias Ringwald * @param address 804941b3855SMatthias Ringwald */ 8055611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL 0xD3 806941b3855SMatthias Ringwald 807941b3855SMatthias Ringwald /** 8082c737695SMatthias Ringwald * @format H1B 809941b3855SMatthias Ringwald * @param handle 810941b3855SMatthias Ringwald * @param addr_type 811941b3855SMatthias Ringwald * @param address 812941b3855SMatthias Ringwald */ 8135611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER 0xD4 814941b3855SMatthias Ringwald 815941b3855SMatthias Ringwald /** 816941b3855SMatthias Ringwald * @format H1B 817941b3855SMatthias Ringwald * @param handle 818941b3855SMatthias Ringwald * @param addr_type 819941b3855SMatthias Ringwald * @param address 820941b3855SMatthias Ringwald */ 8215611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL 0xD5 822941b3855SMatthias Ringwald 823941b3855SMatthias Ringwald /** 8248362d86aSMatthias Ringwald * @format H1B4 8258362d86aSMatthias Ringwald * @param handle 8268362d86aSMatthias Ringwald * @param addr_type 8278362d86aSMatthias Ringwald * @param address 8288362d86aSMatthias Ringwald * @param passkey 8298362d86aSMatthias Ringwald */ 8308362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST 0xD6 8318362d86aSMatthias Ringwald 8328362d86aSMatthias Ringwald /** 8332c737695SMatthias Ringwald * @format H1B 834941b3855SMatthias Ringwald * @param handle 835941b3855SMatthias Ringwald * @param addr_type 836941b3855SMatthias Ringwald * @param address 837941b3855SMatthias Ringwald */ 8388362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL 0xD7 839941b3855SMatthias Ringwald 840941b3855SMatthias Ringwald /** 841941b3855SMatthias Ringwald * @format H1B 842941b3855SMatthias Ringwald * @param handle 843941b3855SMatthias Ringwald * @param addr_type 844941b3855SMatthias Ringwald * @param address 845941b3855SMatthias Ringwald */ 8468362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED 0xD8 8478362d86aSMatthias Ringwald 8488362d86aSMatthias Ringwald /** 8498362d86aSMatthias Ringwald * @format H1B 8508362d86aSMatthias Ringwald * @param handle 8518362d86aSMatthias Ringwald * @param addr_type 8528362d86aSMatthias Ringwald * @param address 8538362d86aSMatthias Ringwald */ 8548362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED 0xD9 855941b3855SMatthias Ringwald 856941b3855SMatthias Ringwald /** 85784182ed9SMatthias Ringwald * @brief Identify resolving succeeded 85884182ed9SMatthias Ringwald * 859334126b3SMatthias Ringwald * @format H1B1B2 860941b3855SMatthias Ringwald * @param handle 861941b3855SMatthias Ringwald * @param addr_type 862941b3855SMatthias Ringwald * @param address 86384182ed9SMatthias Ringwald * @param identity_addr_type 86484182ed9SMatthias Ringwald * @param identity_address 865334126b3SMatthias Ringwald * @param index_internal 86684182ed9SMatthias Ringwald * 867941b3855SMatthias Ringwald */ 8688362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 0xDA 869941b3855SMatthias Ringwald 870941b3855SMatthias Ringwald /** 871941b3855SMatthias Ringwald * @format H1B 872941b3855SMatthias Ringwald * @param handle 873941b3855SMatthias Ringwald * @param addr_type 874941b3855SMatthias Ringwald * @param address 875941b3855SMatthias Ringwald */ 8768362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST 0xDB 877941b3855SMatthias Ringwald 878941b3855SMatthias Ringwald /** 879941b3855SMatthias Ringwald * @format H1B1 880941b3855SMatthias Ringwald * @param handle 881941b3855SMatthias Ringwald * @param addr_type 882941b3855SMatthias Ringwald * @param address 883941b3855SMatthias Ringwald * @param authorization_result 884941b3855SMatthias Ringwald */ 8858362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT 0xDC 886941b3855SMatthias Ringwald 8873d7fe1e9SMatthias Ringwald /** 8883d7fe1e9SMatthias Ringwald * @format H1 8893d7fe1e9SMatthias Ringwald * @param handle 8903d7fe1e9SMatthias Ringwald * @param action see SM_KEYPRESS_* 8913d7fe1e9SMatthias Ringwald */ 8923d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION 0xDD 8933d7fe1e9SMatthias Ringwald 89484182ed9SMatthias Ringwald /** 89584182ed9SMatthias Ringwald * @brief Emitted during pairing to inform app about address used as identity 89684182ed9SMatthias Ringwald * 89784182ed9SMatthias Ringwald * @format H1B1B 89884182ed9SMatthias Ringwald * @param handle 89984182ed9SMatthias Ringwald * @param addr_type 90084182ed9SMatthias Ringwald * @param address 90184182ed9SMatthias Ringwald * @param identity_addr_type 90284182ed9SMatthias Ringwald * @param identity_address 90384182ed9SMatthias Ringwald */ 90484182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED 0xDE 9053d7fe1e9SMatthias Ringwald 906941b3855SMatthias Ringwald // GAP 907941b3855SMatthias Ringwald 90846bc5396SMilanka Ringwald /** 90946bc5396SMilanka Ringwald * @format H1 91046bc5396SMilanka Ringwald * @param handle 91146bc5396SMilanka Ringwald * @param security_level 91246bc5396SMilanka Ringwald */ 9135611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL 0xE0 914941b3855SMatthias Ringwald 91546bc5396SMilanka Ringwald /** 91646bc5396SMilanka Ringwald * @format 1B 91746bc5396SMilanka Ringwald * @param status 91846bc5396SMilanka Ringwald * @param address 91946bc5396SMilanka Ringwald */ 9205611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED 0xE1 921941b3855SMatthias Ringwald 922941b3855SMatthias Ringwald /** 923941b3855SMatthias Ringwald * @format 11B1JV 924941b3855SMatthias Ringwald * @param advertising_event_type 925941b3855SMatthias Ringwald * @param address_type 926941b3855SMatthias Ringwald * @param address 927941b3855SMatthias Ringwald * @param rssi 928941b3855SMatthias Ringwald * @param data_length 929941b3855SMatthias Ringwald * @param data 930941b3855SMatthias Ringwald */ 931045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT 0xE2 932941b3855SMatthias Ringwald 933827b1c43SMatthias Ringwald 934e10ce426SMatthias Ringwald // Meta Events, see below for sub events 935941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META 0xE8 93639d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META 0xE9 937e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META 0xEA 938beaf082cSMatthias Ringwald #define HCI_EVENT_AVDTP_META 0xEB 939decc740cSMilanka Ringwald #define HCI_EVENT_AVRCP_META 0xEC 940f1b34e8dSMatthias Ringwald #define HCI_EVENT_GOEP_META 0xED 941f1b34e8dSMatthias Ringwald #define HCI_EVENT_PBAP_META 0xEE 942dd148ddbSMatthias Ringwald #define HCI_EVENT_HID_META 0xEF 94339d235cbSMatthias Ringwald 944e10ce426SMatthias Ringwald // Potential other meta groups 945e10ce426SMatthias Ringwald // #define HCI_EVENT_BNEP_META 0xxx 946e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META 0xxx 947e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META 0xxx 948e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META 0xxx 949e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META 0xxx 950e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META 0xxx 95139d235cbSMatthias Ringwald 952d63c37a1SMatthias Ringwald 953d63c37a1SMatthias Ringwald /** HSP Subevent */ 954d63c37a1SMatthias Ringwald 955827b1c43SMatthias Ringwald /** 95699a10067SMatthias Ringwald * @format 11 957827b1c43SMatthias Ringwald * @param subevent_code 958827b1c43SMatthias Ringwald * @param status 0 == OK 959827b1c43SMatthias Ringwald */ 96099a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 0x01 96199a10067SMatthias Ringwald 96299a10067SMatthias Ringwald /** 96399a10067SMatthias Ringwald * @format 11 96499a10067SMatthias Ringwald * @param subevent_code 96599a10067SMatthias Ringwald * @param status 0 == OK 96699a10067SMatthias Ringwald */ 96799a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 0x02 96899a10067SMatthias Ringwald 96999a10067SMatthias Ringwald 97099a10067SMatthias Ringwald /** 97162c468cbSMatthias Ringwald * @format 11H 97299a10067SMatthias Ringwald * @param subevent_code 97399a10067SMatthias Ringwald * @param status 0 == OK 97462c468cbSMatthias Ringwald * @param handle 97599a10067SMatthias Ringwald */ 97699a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x03 977827b1c43SMatthias Ringwald 978827b1c43SMatthias Ringwald /** 979827b1c43SMatthias Ringwald * @format 11 980827b1c43SMatthias Ringwald * @param subevent_code 981827b1c43SMatthias Ringwald * @param status 0 == OK 982827b1c43SMatthias Ringwald */ 98399a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 0x04 984827b1c43SMatthias Ringwald 985827b1c43SMatthias Ringwald /** 986827b1c43SMatthias Ringwald * @format 1 987827b1c43SMatthias Ringwald * @param subevent_code 988827b1c43SMatthias Ringwald */ 98999a10067SMatthias Ringwald #define HSP_SUBEVENT_RING 0x05 990827b1c43SMatthias Ringwald 991827b1c43SMatthias Ringwald /** 992827b1c43SMatthias Ringwald * @format 11 993827b1c43SMatthias Ringwald * @param subevent_code 994827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 995827b1c43SMatthias Ringwald */ 99699a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 0x06 997827b1c43SMatthias Ringwald 998827b1c43SMatthias Ringwald /** 999827b1c43SMatthias Ringwald * @format 11 1000827b1c43SMatthias Ringwald * @param subevent_code 1001827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 1002827b1c43SMatthias Ringwald */ 100399a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 0x07 1004827b1c43SMatthias Ringwald 1005827b1c43SMatthias Ringwald /** 1006827b1c43SMatthias Ringwald * @format 1JV 1007827b1c43SMatthias Ringwald * @param subevent_code 1008827b1c43SMatthias Ringwald * @param value_length 1009827b1c43SMatthias Ringwald * @param value 1010827b1c43SMatthias Ringwald */ 101199a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND 0x08 1012827b1c43SMatthias Ringwald 1013827b1c43SMatthias Ringwald /** 1014827b1c43SMatthias Ringwald * @format 1JV 1015827b1c43SMatthias Ringwald * @param subevent_code 1016827b1c43SMatthias Ringwald * @param value_length 1017827b1c43SMatthias Ringwald * @param value 1018827b1c43SMatthias Ringwald */ 101999a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION 0x09 1020827b1c43SMatthias Ringwald 1021941b3855SMatthias Ringwald 1022d63c37a1SMatthias Ringwald /** HFP Subevent */ 1023941b3855SMatthias Ringwald 1024d63c37a1SMatthias Ringwald /** 1025a23045e2SMilanka Ringwald * @format 11HB 1026d63c37a1SMatthias Ringwald * @param subevent_code 1027d63c37a1SMatthias Ringwald * @param status 0 == OK 1028a0653c3bSMilanka Ringwald * @param con_handle 10296a7f44bdSMilanka Ringwald * @param bd_addr 1030d63c37a1SMatthias Ringwald */ 1031941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 0x01 1032d63c37a1SMatthias Ringwald 1033d63c37a1SMatthias Ringwald /** 1034d63c37a1SMatthias Ringwald * @format 1 1035d63c37a1SMatthias Ringwald * @param subevent_code 1036d63c37a1SMatthias Ringwald */ 1037941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 0x02 1038d63c37a1SMatthias Ringwald 1039d63c37a1SMatthias Ringwald /** 1040a23045e2SMilanka Ringwald * @format 11HB1 1041d63c37a1SMatthias Ringwald * @param subevent_code 1042d63c37a1SMatthias Ringwald * @param status 0 == OK 10436ff51cfdSMatthias Ringwald * @param handle 10446a7f44bdSMilanka Ringwald * @param bd_addr 1045d0c4aea6SMilanka Ringwald * @param negotiated_codec 1046d63c37a1SMatthias Ringwald */ 1047941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 0x03 1048d63c37a1SMatthias Ringwald 1049d63c37a1SMatthias Ringwald /** 1050d63c37a1SMatthias Ringwald * @format 1 1051d63c37a1SMatthias Ringwald * @param subevent_code 1052d63c37a1SMatthias Ringwald */ 1053941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 0x04 1054d63c37a1SMatthias Ringwald 1055d63c37a1SMatthias Ringwald /** 1056d63c37a1SMatthias Ringwald * @format 11 1057d63c37a1SMatthias Ringwald * @param subevent_code 1058d63c37a1SMatthias Ringwald * @param status 0 == OK 1059d63c37a1SMatthias Ringwald */ 1060941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE 0x05 1061d63c37a1SMatthias Ringwald 1062d63c37a1SMatthias Ringwald /** 1063d63c37a1SMatthias Ringwald * @format 111T 1064d63c37a1SMatthias Ringwald * @param subevent_code 1065d63c37a1SMatthias Ringwald * @param indicator_index 1066d63c37a1SMatthias Ringwald * @param indicator_status 1067d63c37a1SMatthias Ringwald * @param indicator_name 1068d63c37a1SMatthias Ringwald */ 1069941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 0x06 1070d63c37a1SMatthias Ringwald 1071d63c37a1SMatthias Ringwald /** 10722c737695SMatthias Ringwald * @format 111T 1073d63c37a1SMatthias Ringwald * @param subevent_code 1074d63c37a1SMatthias Ringwald * @param network_operator_mode 1075d63c37a1SMatthias Ringwald * @param network_operator_format 1076d63c37a1SMatthias Ringwald * @param network_operator_name 1077d63c37a1SMatthias Ringwald */ 1078941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 0x07 1079d63c37a1SMatthias Ringwald 1080d63c37a1SMatthias Ringwald /** 1081d63c37a1SMatthias Ringwald * @format 11 1082d63c37a1SMatthias Ringwald * @param subevent_code 1083d63c37a1SMatthias Ringwald * @param error 1084d63c37a1SMatthias Ringwald */ 1085941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 0x08 1086d63c37a1SMatthias Ringwald 1087d63c37a1SMatthias Ringwald /** 1088d63c37a1SMatthias Ringwald * @format 1 1089d63c37a1SMatthias Ringwald * @param subevent_code 1090d63c37a1SMatthias Ringwald */ 1091aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG 0x0A 1092d63c37a1SMatthias Ringwald 1093d63c37a1SMatthias Ringwald /** 1094d63c37a1SMatthias Ringwald * @format 1 1095d63c37a1SMatthias Ringwald * @param subevent_code 1096d63c37a1SMatthias Ringwald */ 1097aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG 0x0B 1098d63c37a1SMatthias Ringwald 1099d63c37a1SMatthias Ringwald /** 1100d63c37a1SMatthias Ringwald * @format 1 1101d63c37a1SMatthias Ringwald * @param subevent_code 1102d63c37a1SMatthias Ringwald */ 1103aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED 0x0C 1104d63c37a1SMatthias Ringwald 1105d63c37a1SMatthias Ringwald /** 1106d63c37a1SMatthias Ringwald * @format 1T 1107d63c37a1SMatthias Ringwald * @param subevent_code 1108d63c37a1SMatthias Ringwald * @param number 1109d63c37a1SMatthias Ringwald */ 1110aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 0x0D 1111d63c37a1SMatthias Ringwald 1112d63c37a1SMatthias Ringwald /** 1113d63c37a1SMatthias Ringwald * @format 1 1114d63c37a1SMatthias Ringwald * @param subevent_code 1115d63c37a1SMatthias Ringwald */ 1116d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 0x0E 1117d63c37a1SMatthias Ringwald 1118d63c37a1SMatthias Ringwald /** 1119d63c37a1SMatthias Ringwald * @format 1T 1120d63c37a1SMatthias Ringwald * @param subevent_code 1121d63c37a1SMatthias Ringwald * @param number 1122d63c37a1SMatthias Ringwald */ 1123d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 0x0F 1124d63c37a1SMatthias Ringwald 1125d63c37a1SMatthias Ringwald /** 1126d63c37a1SMatthias Ringwald * @format 1T 1127d63c37a1SMatthias Ringwald * @param subevent_code 1128d63c37a1SMatthias Ringwald * @param dtmf code 1129d63c37a1SMatthias Ringwald */ 1130d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES 0x10 1131d63c37a1SMatthias Ringwald 1132d63c37a1SMatthias Ringwald /** 1133d63c37a1SMatthias Ringwald * @format 1 1134d63c37a1SMatthias Ringwald * @param subevent_code 1135d63c37a1SMatthias Ringwald */ 1136d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_ANSWERED 0x11 1137d63c37a1SMatthias Ringwald 1138d63c37a1SMatthias Ringwald /** 1139d63c37a1SMatthias Ringwald * @format 1 1140d63c37a1SMatthias Ringwald * @param subevent_code 1141d63c37a1SMatthias Ringwald */ 1142d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL 0x12 1143d63c37a1SMatthias Ringwald 1144d63c37a1SMatthias Ringwald /** 1145d63c37a1SMatthias Ringwald * @format 1 1146d63c37a1SMatthias Ringwald * @param subevent_code 1147d63c37a1SMatthias Ringwald */ 1148d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING 0x13 1149d63c37a1SMatthias Ringwald 1150d63c37a1SMatthias Ringwald /** 1151d63c37a1SMatthias Ringwald * @format 111 1152d63c37a1SMatthias Ringwald * @param subevent_code 1153d63c37a1SMatthias Ringwald * @param status 1154d63c37a1SMatthias Ringwald * @param gain 1155d63c37a1SMatthias Ringwald */ 1156d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SPEAKER_VOLUME 0x14 1157d63c37a1SMatthias Ringwald 1158d63c37a1SMatthias Ringwald /** 1159d63c37a1SMatthias Ringwald * @format 111 1160d63c37a1SMatthias Ringwald * @param subevent_code 1161d63c37a1SMatthias Ringwald * @param status 1162d63c37a1SMatthias Ringwald * @param gain 1163d63c37a1SMatthias Ringwald */ 1164d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME 0x15 1165d63c37a1SMatthias Ringwald 1166d63c37a1SMatthias Ringwald /** 1167d63c37a1SMatthias Ringwald * @format 11T 1168d63c37a1SMatthias Ringwald * @param subevent_code 1169d63c37a1SMatthias Ringwald * @param type 1170d63c37a1SMatthias Ringwald * @param number 1171d63c37a1SMatthias Ringwald */ 1172d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 0x16 1173d63c37a1SMatthias Ringwald 1174d63c37a1SMatthias Ringwald /** 1175d63c37a1SMatthias Ringwald * @format 11T 1176d63c37a1SMatthias Ringwald * @param subevent_code 1177d63c37a1SMatthias Ringwald * @param type 1178d63c37a1SMatthias Ringwald * @param number 1179d63c37a1SMatthias Ringwald */ 1180d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17 1181d63c37a1SMatthias Ringwald 1182d63c37a1SMatthias Ringwald /** 1183d63c37a1SMatthias Ringwald * @format 111111T 1184d63c37a1SMatthias Ringwald * @param subevent_code 1185d63c37a1SMatthias Ringwald * @param clcc_idx 1186d63c37a1SMatthias Ringwald * @param clcc_dir 1187d63c37a1SMatthias Ringwald * @param clcc_status 1188d63c37a1SMatthias Ringwald * @param clcc_mpty 1189d63c37a1SMatthias Ringwald * @param bnip_type 1190d63c37a1SMatthias Ringwald * @param bnip_number 1191d63c37a1SMatthias Ringwald */ 1192d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS 0x18 1193d63c37a1SMatthias Ringwald 1194d63c37a1SMatthias Ringwald /** 1195d63c37a1SMatthias Ringwald * @format 111T 1196d63c37a1SMatthias Ringwald * @param subevent_code 1197d63c37a1SMatthias Ringwald * @param status 1198d63c37a1SMatthias Ringwald * @param bnip_type 1199d63c37a1SMatthias Ringwald * @param bnip_number 1200d63c37a1SMatthias Ringwald */ 1201d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 0x19 1202d63c37a1SMatthias Ringwald 1203d63c37a1SMatthias Ringwald /** 1204d63c37a1SMatthias Ringwald * @format 1T 1205d63c37a1SMatthias Ringwald * @param subevent_code 1206d63c37a1SMatthias Ringwald * @param value 1207d63c37a1SMatthias Ringwald */ 1208d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 0x1A 1209941b3855SMatthias Ringwald 1210941b3855SMatthias Ringwald // ANCS Client 1211a4815874SMatthias Ringwald 1212a4815874SMatthias Ringwald /** 1213e10ce426SMatthias Ringwald * @format 1H 1214e10ce426SMatthias Ringwald * @param subevent_code 1215a4815874SMatthias Ringwald * @param handle 1216a4815874SMatthias Ringwald */ 1217e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED 0xF0 1218a4815874SMatthias Ringwald 1219a4815874SMatthias Ringwald /** 1220e10ce426SMatthias Ringwald * @format 1H2T 1221e10ce426SMatthias Ringwald * @param subevent_code 1222a4815874SMatthias Ringwald * @param handle 1223a4815874SMatthias Ringwald * @param attribute_id 1224a4815874SMatthias Ringwald * @param text 1225a4815874SMatthias Ringwald */ 1226e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION 0xF1 1227a4815874SMatthias Ringwald 1228a4815874SMatthias Ringwald /** 1229e10ce426SMatthias Ringwald * @format 1H 1230e10ce426SMatthias Ringwald * @param subevent_code 1231a4815874SMatthias Ringwald * @param handle 1232a4815874SMatthias Ringwald */ 1233e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED 0xF2 1234941b3855SMatthias Ringwald 1235a23045e2SMilanka Ringwald 1236a23045e2SMilanka Ringwald /** AVDTP Subevent */ 1237a23045e2SMilanka Ringwald 12383338b9aeSMilanka Ringwald /** 12392c737695SMatthias Ringwald * @format 1H11 12402c708e8aSMilanka Ringwald * @param subevent_code 12412c708e8aSMilanka Ringwald * @param con_handle 12422c708e8aSMilanka Ringwald * @param signal_identifier 12432c708e8aSMilanka Ringwald * @param status 0 == OK 12442c708e8aSMilanka Ringwald */ 12452c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_ACCEPT 0x01 12462c708e8aSMilanka Ringwald 12472c708e8aSMilanka Ringwald /** 12482c708e8aSMilanka Ringwald * @format 1H1 12492c708e8aSMilanka Ringwald * @param subevent_code 12502c708e8aSMilanka Ringwald * @param con_handle 12512c708e8aSMilanka Ringwald * @param signal_identifier 12522c708e8aSMilanka Ringwald */ 12532c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REJECT 0x02 12542c708e8aSMilanka Ringwald 12552c708e8aSMilanka Ringwald /** 12562c708e8aSMilanka Ringwald * @format 1H1 12572c708e8aSMilanka Ringwald * @param subevent_code 12582c708e8aSMilanka Ringwald * @param con_handle 12592c708e8aSMilanka Ringwald * @param signal_identifier 12602c708e8aSMilanka Ringwald */ 12612c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 0x03 12622c708e8aSMilanka Ringwald 12632c708e8aSMilanka Ringwald /** 12643338b9aeSMilanka Ringwald * @format 1HB1 12653338b9aeSMilanka Ringwald * @param subevent_code 12663338b9aeSMilanka Ringwald * @param con_handle 12673338b9aeSMilanka Ringwald * @param bd_addr 12683338b9aeSMilanka Ringwald * @param status 0 == OK 12693338b9aeSMilanka Ringwald */ 12702c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x04 1271a23045e2SMilanka Ringwald 12723338b9aeSMilanka Ringwald /** 127385a0c7cdSMilanka Ringwald * @format 1H 12743338b9aeSMilanka Ringwald * @param subevent_code 127585a0c7cdSMilanka Ringwald * @param con_handle 12763338b9aeSMilanka Ringwald */ 12772c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x05 12783338b9aeSMilanka Ringwald 12793338b9aeSMilanka Ringwald /** 12803338b9aeSMilanka Ringwald * @format 1H1111 12813338b9aeSMilanka Ringwald * @param subevent_code 12823338b9aeSMilanka Ringwald * @param handle 12833338b9aeSMilanka Ringwald * @param seid 0x01 – 0x3E 12843338b9aeSMilanka Ringwald * @param in_use 0-not in use, 1-in use 12853338b9aeSMilanka Ringwald * @param media_type 0-audio, 1-video, 2-multimedia 12863338b9aeSMilanka Ringwald * @param sep_type 0-source, 1-sink 12873338b9aeSMilanka Ringwald */ 12882c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 0x06 12893338b9aeSMilanka Ringwald 12903338b9aeSMilanka Ringwald /** 12913338b9aeSMilanka Ringwald * @format 1H11111111 12923338b9aeSMilanka Ringwald * @param subevent_code 12933338b9aeSMilanka Ringwald * @param con_handle 12943338b9aeSMilanka Ringwald * @param media_type 1295ea7bd529SMilanka Ringwald * @param sampling_frequency_bitmap 1296ea7bd529SMilanka Ringwald * @param channel_mode_bitmap 1297ea7bd529SMilanka Ringwald * @param block_length_bitmap 1298ea7bd529SMilanka Ringwald * @param subbands_bitmap 1299ea7bd529SMilanka Ringwald * @param allocation_method_bitmap 13003338b9aeSMilanka Ringwald * @param min_bitpool_value 13013338b9aeSMilanka Ringwald * @param max_bitpool_value 13023338b9aeSMilanka Ringwald */ 13032c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x07 13043338b9aeSMilanka Ringwald 13053338b9aeSMilanka Ringwald /** 13062c737695SMatthias Ringwald * @format 1H12LV 13073338b9aeSMilanka Ringwald * @param subevent_code 13083338b9aeSMilanka Ringwald * @param con_handle 13093338b9aeSMilanka Ringwald * @param media_type 13103338b9aeSMilanka Ringwald * @param media_codec_type 13113338b9aeSMilanka Ringwald * @param media_codec_information_len 13123338b9aeSMilanka Ringwald * @param media_codec_information 13133338b9aeSMilanka Ringwald */ 13142c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x08 1315a23045e2SMilanka Ringwald 1316ea7bd529SMilanka Ringwald /** 131760099f8bSMilanka Ringwald * @format 1H1121111111 1318ea7bd529SMilanka Ringwald * @param subevent_code 1319ea7bd529SMilanka Ringwald * @param con_handle 1320ea7bd529SMilanka Ringwald * @param reconfigure 1321ea7bd529SMilanka Ringwald * @param media_type 1322ea7bd529SMilanka Ringwald * @param sampling_frequency 1323ea7bd529SMilanka Ringwald * @param channel_mode 1324ea7bd529SMilanka Ringwald * @param num_channels 1325ea7bd529SMilanka Ringwald * @param block_length 1326ea7bd529SMilanka Ringwald * @param subbands 1327ea7bd529SMilanka Ringwald * @param allocation_method 1328ea7bd529SMilanka Ringwald * @param min_bitpool_value 1329ea7bd529SMilanka Ringwald * @param max_bitpool_value 1330ea7bd529SMilanka Ringwald */ 13312c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x09 1332ea7bd529SMilanka Ringwald 1333ea7bd529SMilanka Ringwald /** 13342c737695SMatthias Ringwald * @format 1H112LV 1335ea7bd529SMilanka Ringwald * @param subevent_code 1336ea7bd529SMilanka Ringwald * @param con_handle 1337ea7bd529SMilanka Ringwald * @param reconfigure 1338ea7bd529SMilanka Ringwald * @param media_type 1339ea7bd529SMilanka Ringwald * @param media_codec_type 1340ea7bd529SMilanka Ringwald * @param media_codec_information_len 1341ea7bd529SMilanka Ringwald * @param media_codec_information 1342ea7bd529SMilanka Ringwald */ 13432c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x0A 1344decc740cSMilanka Ringwald 134585a0c7cdSMilanka Ringwald /** 134685a0c7cdSMilanka Ringwald * @format 1H1 134785a0c7cdSMilanka Ringwald * @param subevent_code 134885a0c7cdSMilanka Ringwald * @param con_handle 134985a0c7cdSMilanka Ringwald * @param status 0 == OK 135085a0c7cdSMilanka Ringwald */ 135185a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 0x0B 135285a0c7cdSMilanka Ringwald 135385a0c7cdSMilanka Ringwald /** 135485a0c7cdSMilanka Ringwald * @format 1H 135585a0c7cdSMilanka Ringwald * @param subevent_code 135685a0c7cdSMilanka Ringwald * @param con_handle 135785a0c7cdSMilanka Ringwald */ 135885a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 0x0C 135985a0c7cdSMilanka Ringwald 136085a0c7cdSMilanka Ringwald 1361decc740cSMilanka Ringwald 1362decc740cSMilanka Ringwald /** AVRCP Subevent */ 1363decc740cSMilanka Ringwald 1364decc740cSMilanka Ringwald /** 136585a0c7cdSMilanka Ringwald * @format 1H12B 1366decc740cSMilanka Ringwald * @param subevent_code 1367decc740cSMilanka Ringwald * @param con_handle 13682a029560SMilanka Ringwald * @param status 0 == OK 1369decc740cSMilanka Ringwald * @param local_cid 1370decc740cSMilanka Ringwald * @param bd_addr 1371decc740cSMilanka Ringwald */ 1372decc740cSMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 0x01 1373decc740cSMilanka Ringwald 1374decc740cSMilanka Ringwald /** 1375decc740cSMilanka Ringwald * @format 1H 1376decc740cSMilanka Ringwald * @param subevent_code 1377decc740cSMilanka Ringwald * @param con_handle 1378decc740cSMilanka Ringwald */ 13796eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_RELEASED 0x02 1380decc740cSMilanka Ringwald 1381cd41da7eSMilanka Ringwald /** 1382e222d6a0SMatthias Ringwald * @format 1H1114JVJVJVJV 1383cd41da7eSMilanka Ringwald * @param subevent_code 1384cd41da7eSMilanka Ringwald * @param con_handle 13852a029560SMilanka Ringwald * @param status 1386e222d6a0SMatthias Ringwald * @param track 1387e222d6a0SMatthias Ringwald * @param total_tracks 1388e222d6a0SMatthias Ringwald * @param song_length in ms 1389cd41da7eSMilanka Ringwald * @param title_len 1390cd41da7eSMilanka Ringwald * @param title 1391cd41da7eSMilanka Ringwald * @param artist_len 1392cd41da7eSMilanka Ringwald * @param artist 1393cd41da7eSMilanka Ringwald * @param album_len 1394cd41da7eSMilanka Ringwald * @param album 1395cd41da7eSMilanka Ringwald * @param genre_len 1396cd41da7eSMilanka Ringwald * @param genre 1397cd41da7eSMilanka Ringwald */ 13982a029560SMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_INFO 0x03 1399cd41da7eSMilanka Ringwald 14002a029560SMilanka Ringwald /** 14012a029560SMilanka Ringwald * @format 1H111 14022a029560SMilanka Ringwald * @param subevent_code 14032a029560SMilanka Ringwald * @param con_handle 14042a029560SMilanka Ringwald * @param status 14052a029560SMilanka Ringwald * @param repeat_mode 14062a029560SMilanka Ringwald * @param shuffle_mode 14072a029560SMilanka Ringwald */ 14082a029560SMilanka Ringwald #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 0x04 1409cd41da7eSMilanka Ringwald 14106eb7ba29SMilanka Ringwald /** 14116eb7ba29SMilanka Ringwald * @format 1H1441 14126eb7ba29SMilanka Ringwald * @param subevent_code 14136eb7ba29SMilanka Ringwald * @param con_handle 14146eb7ba29SMilanka Ringwald * @param status 14156eb7ba29SMilanka Ringwald * @param song_length 14166eb7ba29SMilanka Ringwald * @param song_position 14176eb7ba29SMilanka Ringwald * @param play_status 14186eb7ba29SMilanka Ringwald */ 14196eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAY_STATUS 0x05 14206eb7ba29SMilanka Ringwald 14216eb7ba29SMilanka Ringwald /** 14226eb7ba29SMilanka Ringwald * @format 1H11 14236eb7ba29SMilanka Ringwald * @param subevent_code 14246eb7ba29SMilanka Ringwald * @param con_handle 14256eb7ba29SMilanka Ringwald * @param status 14266eb7ba29SMilanka Ringwald * @param playback_status 14276eb7ba29SMilanka Ringwald */ 14286eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 0x06 14296eb7ba29SMilanka Ringwald 14306eb7ba29SMilanka Ringwald /** 14316eb7ba29SMilanka Ringwald * @format 1H11 14326eb7ba29SMilanka Ringwald * @param subevent_code 14336eb7ba29SMilanka Ringwald * @param con_handle 14346eb7ba29SMilanka Ringwald * @param status 14356eb7ba29SMilanka Ringwald * @param track_status 14366eb7ba29SMilanka Ringwald */ 14376eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 0x07 14386eb7ba29SMilanka Ringwald 14396eb7ba29SMilanka Ringwald /** 14406eb7ba29SMilanka Ringwald * @format 1H1 14416eb7ba29SMilanka Ringwald * @param subevent_code 14426eb7ba29SMilanka Ringwald * @param con_handle 14436eb7ba29SMilanka Ringwald * @param status 14446eb7ba29SMilanka Ringwald */ 14456eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 0x08 14466eb7ba29SMilanka Ringwald 14476eb7ba29SMilanka Ringwald /** 14486eb7ba29SMilanka Ringwald * @format 1H1 14496eb7ba29SMilanka Ringwald * @param subevent_code 14506eb7ba29SMilanka Ringwald * @param con_handle 14516eb7ba29SMilanka Ringwald * @param status 14526eb7ba29SMilanka Ringwald */ 14536eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 0x09 14546eb7ba29SMilanka Ringwald 14556eb7ba29SMilanka Ringwald /** 14566eb7ba29SMilanka Ringwald * @format 1H11 14576eb7ba29SMilanka Ringwald * @param subevent_code 14586eb7ba29SMilanka Ringwald * @param con_handle 14596eb7ba29SMilanka Ringwald * @param status 14606eb7ba29SMilanka Ringwald * @param absolute_volume 14616eb7ba29SMilanka Ringwald */ 14626eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 0x0A 14636eb7ba29SMilanka Ringwald 14646eb7ba29SMilanka Ringwald /** 14656eb7ba29SMilanka Ringwald * @format 1H11 14666eb7ba29SMilanka Ringwald * @param subevent_code 14676eb7ba29SMilanka Ringwald * @param con_handle 14686eb7ba29SMilanka Ringwald * @param status 14696eb7ba29SMilanka Ringwald * @param absolute_volume 14706eb7ba29SMilanka Ringwald */ 14716eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 0x0B 14726eb7ba29SMilanka Ringwald 14736eb7ba29SMilanka Ringwald /** 14746eb7ba29SMilanka Ringwald * @format 1H11 14756eb7ba29SMilanka Ringwald * @param subevent_code 14766eb7ba29SMilanka Ringwald * @param con_handle 14776eb7ba29SMilanka Ringwald * @param status 14786eb7ba29SMilanka Ringwald * @param notification_id 14796eb7ba29SMilanka Ringwald */ 14806eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 0x0C 14816eb7ba29SMilanka Ringwald 14826eb7ba29SMilanka Ringwald /** 14836eb7ba29SMilanka Ringwald * @format 1H11 14846eb7ba29SMilanka Ringwald * @param subevent_code 14856eb7ba29SMilanka Ringwald * @param con_handle 14866eb7ba29SMilanka Ringwald * @param status 14876eb7ba29SMilanka Ringwald * @param operation_id 14886eb7ba29SMilanka Ringwald */ 14896eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_START 0x0D 14906eb7ba29SMilanka Ringwald 14916eb7ba29SMilanka Ringwald /** 14926eb7ba29SMilanka Ringwald * @format 1H11 14936eb7ba29SMilanka Ringwald * @param subevent_code 14946eb7ba29SMilanka Ringwald * @param con_handle 14956eb7ba29SMilanka Ringwald * @param status 14966eb7ba29SMilanka Ringwald * @param operation_id 14976eb7ba29SMilanka Ringwald */ 14986eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_COMPLETE 0x0E 14996eb7ba29SMilanka Ringwald 15006eb7ba29SMilanka Ringwald /** 15016eb7ba29SMilanka Ringwald * @format 1H1 15026eb7ba29SMilanka Ringwald * @param subevent_code 15036eb7ba29SMilanka Ringwald * @param con_handle 15046eb7ba29SMilanka Ringwald * @param status 15056eb7ba29SMilanka Ringwald */ 15066eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 0x0F 15076eb7ba29SMilanka Ringwald 1508f1b34e8dSMatthias Ringwald /** 1509f1b34e8dSMatthias Ringwald * @format 121BH1 1510f1b34e8dSMatthias Ringwald * @param subevent_code 1511f1b34e8dSMatthias Ringwald * @param goep_cid 1512f1b34e8dSMatthias Ringwald * @param status 1513f1b34e8dSMatthias Ringwald * @param bd_addr 1514f1b34e8dSMatthias Ringwald * @param con_handle 1515f1b34e8dSMatthias Ringwald * @param incoming 1516f1b34e8dSMatthias Ringwald */ 1517f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_OPENED 0x01 15186eb7ba29SMilanka Ringwald 1519f1b34e8dSMatthias Ringwald /** 1520f1b34e8dSMatthias Ringwald * @format 12 1521f1b34e8dSMatthias Ringwald * @param subevent_code 1522f1b34e8dSMatthias Ringwald * @param goep_cid 1523f1b34e8dSMatthias Ringwald */ 1524f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_CLOSED 0x02 1525f1b34e8dSMatthias Ringwald 1526f1b34e8dSMatthias Ringwald /** 1527f1b34e8dSMatthias Ringwald * @format 12 1528f1b34e8dSMatthias Ringwald * @param subevent_code 1529f1b34e8dSMatthias Ringwald * @param goep_cid 1530f1b34e8dSMatthias Ringwald */ 1531f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CAN_SEND_NOW 0x03 1532f1b34e8dSMatthias Ringwald 1533f1b34e8dSMatthias Ringwald /** 1534f1b34e8dSMatthias Ringwald * @format 121BH1 1535f1b34e8dSMatthias Ringwald * @param subevent_code 1536f1b34e8dSMatthias Ringwald * @param pbap_cid 1537f1b34e8dSMatthias Ringwald * @param status 1538f1b34e8dSMatthias Ringwald * @param bd_addr 1539f1b34e8dSMatthias Ringwald * @param con_handle 1540f1b34e8dSMatthias Ringwald * @param incoming 1541f1b34e8dSMatthias Ringwald */ 1542f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_OPENED 0x01 1543f1b34e8dSMatthias Ringwald 1544f1b34e8dSMatthias Ringwald /** 1545f1b34e8dSMatthias Ringwald * @format 12 1546f1b34e8dSMatthias Ringwald * @param subevent_code 1547f1b34e8dSMatthias Ringwald * @param goep_cid 1548f1b34e8dSMatthias Ringwald */ 1549f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_CLOSED 0x02 1550f1b34e8dSMatthias Ringwald 1551f1b34e8dSMatthias Ringwald /** 1552f1b34e8dSMatthias Ringwald * @format 121 1553f1b34e8dSMatthias Ringwald * @param subevent_code 1554f1b34e8dSMatthias Ringwald * @param goep_cid 1555f1b34e8dSMatthias Ringwald * @param status 1556f1b34e8dSMatthias Ringwald */ 1557f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_OPERATION_COMPLETED 0x03 15586eb7ba29SMilanka Ringwald 1559dd148ddbSMatthias Ringwald /** 1560dd148ddbSMatthias Ringwald * @format 121BH1 1561dd148ddbSMatthias Ringwald * @param subevent_code 1562dd148ddbSMatthias Ringwald * @param hid_cid 1563dd148ddbSMatthias Ringwald * @param status 1564dd148ddbSMatthias Ringwald * @param bd_addr 1565dd148ddbSMatthias Ringwald * @param con_handle 1566dd148ddbSMatthias Ringwald * @param incoming 1567dd148ddbSMatthias Ringwald */ 1568dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_OPENED 0x01 1569dd148ddbSMatthias Ringwald 1570dd148ddbSMatthias Ringwald /** 1571dd148ddbSMatthias Ringwald * @format 12 1572dd148ddbSMatthias Ringwald * @param subevent_code 1573dd148ddbSMatthias Ringwald * @param hid_cid 1574dd148ddbSMatthias Ringwald */ 1575dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_CLOSED 0x02 1576dd148ddbSMatthias Ringwald 1577dd148ddbSMatthias Ringwald /** 1578dd148ddbSMatthias Ringwald * @format 12 1579dd148ddbSMatthias Ringwald * @param subevent_code 1580dd148ddbSMatthias Ringwald * @param hid_cid 1581dd148ddbSMatthias Ringwald */ 1582dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CAN_SEND_NOW 0x03 1583dd148ddbSMatthias Ringwald 1584941b3855SMatthias Ringwald #endif 1585