1941b3855SMatthias Ringwald /* 2941b3855SMatthias Ringwald * Copyright (C) 2015 BlueKitchen GmbH 3941b3855SMatthias Ringwald * 4941b3855SMatthias Ringwald * Redistribution and use in source and binary forms, with or without 5941b3855SMatthias Ringwald * modification, are permitted provided that the following conditions 6941b3855SMatthias Ringwald * are met: 7941b3855SMatthias Ringwald * 8941b3855SMatthias Ringwald * 1. Redistributions of source code must retain the above copyright 9941b3855SMatthias Ringwald * notice, this list of conditions and the following disclaimer. 10941b3855SMatthias Ringwald * 2. Redistributions in binary form must reproduce the above copyright 11941b3855SMatthias Ringwald * notice, this list of conditions and the following disclaimer in the 12941b3855SMatthias Ringwald * documentation and/or other materials provided with the distribution. 13941b3855SMatthias Ringwald * 3. Neither the name of the copyright holders nor the names of 14941b3855SMatthias Ringwald * contributors may be used to endorse or promote products derived 15941b3855SMatthias Ringwald * from this software without specific prior written permission. 16941b3855SMatthias Ringwald * 4. Any redistribution, use, or modification is done solely for 17941b3855SMatthias Ringwald * personal benefit and not for any commercial purpose or for 18941b3855SMatthias Ringwald * monetary gain. 19941b3855SMatthias Ringwald * 20941b3855SMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21941b3855SMatthias Ringwald * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22941b3855SMatthias Ringwald * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23941b3855SMatthias Ringwald * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS 24941b3855SMatthias Ringwald * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25941b3855SMatthias Ringwald * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26941b3855SMatthias Ringwald * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27941b3855SMatthias Ringwald * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28941b3855SMatthias Ringwald * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29941b3855SMatthias Ringwald * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30941b3855SMatthias Ringwald * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31941b3855SMatthias Ringwald * SUCH DAMAGE. 32941b3855SMatthias Ringwald * 33941b3855SMatthias Ringwald * Please inquire about commercial licensing options at 34941b3855SMatthias Ringwald * [email protected] 35941b3855SMatthias Ringwald * 36941b3855SMatthias Ringwald */ 37941b3855SMatthias Ringwald 38941b3855SMatthias Ringwald /* 39941b3855SMatthias Ringwald * btstack-defines.h 40941b3855SMatthias Ringwald * 41941b3855SMatthias Ringwald * BTstack definitions, events, and error codes */ 42941b3855SMatthias Ringwald 43941b3855SMatthias Ringwald #ifndef __BTSTACK_DEFINES_H 44941b3855SMatthias Ringwald #define __BTSTACK_DEFINES_H 45941b3855SMatthias Ringwald 468974fcd6SMatthias Ringwald #include <stdint.h> 478974fcd6SMatthias Ringwald #include "btstack_linked_list.h" 488974fcd6SMatthias Ringwald 498974fcd6SMatthias Ringwald // TYPES 508974fcd6SMatthias Ringwald 518974fcd6SMatthias Ringwald // packet handler 528974fcd6SMatthias Ringwald typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); 538974fcd6SMatthias Ringwald 548974fcd6SMatthias Ringwald // packet callback supporting multiple registrations 558974fcd6SMatthias Ringwald typedef struct { 568974fcd6SMatthias Ringwald btstack_linked_item_t item; 578974fcd6SMatthias Ringwald btstack_packet_handler_t callback; 588974fcd6SMatthias Ringwald } btstack_packet_callback_registration_t; 598974fcd6SMatthias Ringwald 60f7a05cdaSMatthias Ringwald /** 618974fcd6SMatthias Ringwald * @brief 128 bit key used with AES128 in Security Manager 62f7a05cdaSMatthias Ringwald */ 638974fcd6SMatthias Ringwald typedef uint8_t sm_key_t[16]; 64f7a05cdaSMatthias Ringwald 65941b3855SMatthias Ringwald // DEFINES 66941b3855SMatthias Ringwald 67941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET 0x05 68941b3855SMatthias Ringwald 69941b3855SMatthias Ringwald // L2CAP data 70941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET 0x06 71941b3855SMatthias Ringwald 72941b3855SMatthias Ringwald // RFCOMM data 73941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET 0x07 74941b3855SMatthias Ringwald 75941b3855SMatthias Ringwald // Attribute protocol data 76941b3855SMatthias Ringwald #define ATT_DATA_PACKET 0x08 77941b3855SMatthias Ringwald 78941b3855SMatthias Ringwald // Security Manager protocol data 79941b3855SMatthias Ringwald #define SM_DATA_PACKET 0x09 80941b3855SMatthias Ringwald 81941b3855SMatthias Ringwald // SDP query result 82941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k) 83941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET 0x0a 84941b3855SMatthias Ringwald 85941b3855SMatthias Ringwald // BNEP data 86941b3855SMatthias Ringwald #define BNEP_DATA_PACKET 0x0b 87941b3855SMatthias Ringwald 88941b3855SMatthias Ringwald // Unicast Connectionless Data 89941b3855SMatthias Ringwald #define UCD_DATA_PACKET 0x0c 90941b3855SMatthias Ringwald 91941b3855SMatthias Ringwald // debug log messages 92941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET 0xfc 93941b3855SMatthias Ringwald 94941b3855SMatthias Ringwald 95941b3855SMatthias Ringwald // ERRORS 96941b3855SMatthias Ringwald 97941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors 98941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED 0x50 99941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH 0x51 100941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED 0x52 101941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN 0x53 102941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED 0x54 103941b3855SMatthias Ringwald #define BTSTACK_BUSY 0x55 104941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED 0x56 105941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL 0x57 106941b3855SMatthias Ringwald 107941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them 108941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60 109941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61 110941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62 111941b3855SMatthias Ringwald 112941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL 0x63 113941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING 0x64 114941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM 0x65 115941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY 0x66 116941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67 117941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT 0x68 118941b3855SMatthias Ringwald 119941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED 0x69 120941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU 0x6A 121941b3855SMatthias Ringwald 122941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED 0x70 123941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED 0x71 124941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS 0x72 125941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF 0x73 126941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU 0x74 127941b3855SMatthias Ringwald 128941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED 0x80 129941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE 0x81 130941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND 0x82 131941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID 0x83 132e5057641SMatthias Ringwald #define SDP_QUERY_BUSY 0x84 133941b3855SMatthias Ringwald 134941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS 0x90 135941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT 0x91 136941b3855SMatthias Ringwald 137941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED 0x93 138941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY 0x94 139616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE 0x95 140616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96 141616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG 0x97 142616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98 143616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED 0x99 144941b3855SMatthias Ringwald 145941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED 0xA0 146941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED 0xA1 147941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU 0xA2 148941b3855SMatthias Ringwald 14962c64df1SMatthias Ringwald 15062c64df1SMatthias Ringwald 15162c64df1SMatthias Ringwald // DAEMON COMMANDS 152b3f90e25SMatthias Ringwald 153b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d 154b3f90e25SMatthias Ringwald 155b3f90e25SMatthias Ringwald // cmds for BTstack 156b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE 157b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE 0x01 158b3f90e25SMatthias Ringwald 159045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE 160b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE 0x02 161b3f90e25SMatthias Ringwald 162045013feSMatthias Ringwald // set capture mode: param on 163b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE 0x03 164b3f90e25SMatthias Ringwald 165b3f90e25SMatthias Ringwald // get BTstack version 166b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION 0x04 167b3f90e25SMatthias Ringwald 168b3f90e25SMatthias Ringwald // get system Bluetooth state 169b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED 0x05 170b3f90e25SMatthias Ringwald 171b3f90e25SMatthias Ringwald // set system Bluetooth state 172b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED 0x06 173b3f90e25SMatthias Ringwald 174b3f90e25SMatthias Ringwald // enable inquiry scan for this client 175b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE 0x07 176b3f90e25SMatthias Ringwald 177b3f90e25SMatthias Ringwald // set global Bluetooth state 178b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED 0x08 179b3f90e25SMatthias Ringwald 180045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16) 181b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL 0x20 182b3f90e25SMatthias Ringwald 183045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8) 184b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT 0x21 185b3f90e25SMatthias Ringwald 186045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16) 187b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE 0x22 188b3f90e25SMatthias Ringwald 189045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16) 190b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE 0x23 191b3f90e25SMatthias Ringwald 192045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16) 193b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION 0x24 194b3f90e25SMatthias Ringwald 195045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8) 196b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION 0x25 197b3f90e25SMatthias Ringwald 198045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16) 199b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU 0x26 200b3f90e25SMatthias Ringwald 201b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size) 202b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD 0x30 203b3f90e25SMatthias Ringwald 204b3f90e25SMatthias Ringwald // unregister SDP Service Record 205b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD 0x31 206b3f90e25SMatthias Ringwald 207b3f90e25SMatthias Ringwald // Get remote RFCOMM services 208b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES 0x32 209b3f90e25SMatthias Ringwald 210b3f90e25SMatthias Ringwald // Get remote SDP services 211b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES 0x33 212b3f90e25SMatthias Ringwald 213b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands 214b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL 0x40 215b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT 0x41 216b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE 0x42 217b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE 0x43 218b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION 0x44 219b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION 0x45 220b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL 0x46 221b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS 0x47 222b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48 223b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS 0x49 224b3f90e25SMatthias Ringwald 225b3f90e25SMatthias Ringwald // GAP Classic 0x50 226b3f90e25SMatthias Ringwald #define GAP_DISCONNECT 0x50 227b3f90e25SMatthias Ringwald 228b3f90e25SMatthias Ringwald // GAP LE 0x60 229b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START 0x60 230b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP 0x61 231b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT 0x62 232b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL 0x63 233b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS 0x64 234b3f90e25SMatthias Ringwald 235b3f90e25SMatthias Ringwald // GATT (Client) 0x70 236b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES 0x70 237b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16 0x71 238b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128 0x72 239b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE 0x73 240b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE 0x74 241b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128 0x75 242b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS 0x76 243b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC 0x77 244b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC 0x78 245b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE 0x79 246b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC 0x7A 247b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7B 248b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7C 249b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR 0X7D 250b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR 0X7E 251b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR 0X7F 252b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR 0X80 253b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION 0X81 254b3f90e25SMatthias Ringwald #define GATT_GET_MTU 0x82 255b3f90e25SMatthias Ringwald 256941b3855SMatthias Ringwald 25762c64df1SMatthias Ringwald 258941b3855SMatthias Ringwald // EVENTS 259941b3855SMatthias Ringwald 260941b3855SMatthias Ringwald /** 261941b3855SMatthias Ringwald * @format 1 262941b3855SMatthias Ringwald * @param state 263941b3855SMatthias Ringwald */ 264941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE 0x60 265941b3855SMatthias Ringwald 266941b3855SMatthias Ringwald // data: event(8), len(8), nr hci connections 267941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 0x61 268941b3855SMatthias Ringwald 269941b3855SMatthias Ringwald /** 270941b3855SMatthias Ringwald * @format 271941b3855SMatthias Ringwald */ 272941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED 0x62 273941b3855SMatthias Ringwald 274941b3855SMatthias Ringwald /** 275827b1c43SMatthias Ringwald * @format 1 276827b1c43SMatthias Ringwald * @param discoverable 277827b1c43SMatthias Ringwald */ 278827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED 0x66 279827b1c43SMatthias Ringwald 280827b1c43SMatthias Ringwald // Daemon Events 281827b1c43SMatthias Ringwald 282827b1c43SMatthias Ringwald /** 283941b3855SMatthias Ringwald * @format 112 284941b3855SMatthias Ringwald * @param major 285941b3855SMatthias Ringwald * @param minor 286941b3855SMatthias Ringwald @ @param revision 287941b3855SMatthias Ringwald */ 288827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION 0x63 289941b3855SMatthias Ringwald 290941b3855SMatthias Ringwald // data: system bluetooth on/off (bool) 291e2334cdcSMatthias Ringwald /** 292e2334cdcSMatthias Ringwald * @format 1 293e2334cdcSMatthias Ringwald * param system_bluetooth_enabled 294e2334cdcSMatthias Ringwald */ 295827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 0x64 296941b3855SMatthias Ringwald 297941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes) 298e2334cdcSMatthias Ringwald 299e2334cdcSMatthias Ringwald /* 300e2334cdcSMatthias Ringwald * @format 1BT 301e2334cdcSMatthias Ringwald * @param status == 0 to match read_remote_name_request 302e2334cdcSMatthias Ringwald * @param address 303e2334cdcSMatthias Ringwald * @param name 304e2334cdcSMatthias Ringwald */ 305827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED 0x65 306941b3855SMatthias Ringwald 30762c64df1SMatthias Ringwald // internal - data: event(8) 308e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED 0x67 309941b3855SMatthias Ringwald 31062c64df1SMatthias Ringwald // internal - data: event(8) 311e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED 0x68 312941b3855SMatthias Ringwald 31362c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8) 31462c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS 0x74 31562c64df1SMatthias Ringwald 31662c64df1SMatthias Ringwald /** 31762c64df1SMatthias Ringwald * @format 12 31862c64df1SMatthias Ringwald * @param status 31962c64df1SMatthias Ringwald * @param psm 32062c64df1SMatthias Ringwald */ 32162c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 0x75 32262c64df1SMatthias Ringwald 32362c64df1SMatthias Ringwald /** 32462c64df1SMatthias Ringwald * @format 21 32562c64df1SMatthias Ringwald * @param rfcomm_cid 32662c64df1SMatthias Ringwald * @param credits 32762c64df1SMatthias Ringwald */ 32862c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS 0x84 32962c64df1SMatthias Ringwald 33062c64df1SMatthias Ringwald /** 33162c64df1SMatthias Ringwald * @format 11 33262c64df1SMatthias Ringwald * @param status 33362c64df1SMatthias Ringwald * @param channel_id 33462c64df1SMatthias Ringwald */ 335fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 0x85 336fea5a680SMatthias Ringwald 33762c64df1SMatthias Ringwald /** 33862c64df1SMatthias Ringwald * @format 11 33962c64df1SMatthias Ringwald * @param status 34062c64df1SMatthias Ringwald * @param server_channel_id 34162c64df1SMatthias Ringwald */ 34262c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 0x86 34362c64df1SMatthias Ringwald 34462c64df1SMatthias Ringwald /** 34562c64df1SMatthias Ringwald * @format 14 34662c64df1SMatthias Ringwald * @param status 34762c64df1SMatthias Ringwald * @param service_record_handle 34862c64df1SMatthias Ringwald */ 34962c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED 0x90 35062c64df1SMatthias Ringwald 35162c64df1SMatthias Ringwald 352827b1c43SMatthias Ringwald 3533bc639ceSMatthias Ringwald // additional HCI events 35463fa3374SMatthias Ringwald 35563fa3374SMatthias Ringwald /** 35663fa3374SMatthias Ringwald * @brief Outgoing packet 35763fa3374SMatthias Ringwald */ 35863fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT 0x6E 35963fa3374SMatthias Ringwald 3603bc639ceSMatthias Ringwald /** 3613bc639ceSMatthias Ringwald * @format B 3623bc639ceSMatthias Ringwald * @param handle 3633bc639ceSMatthias Ringwald */ 3643bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW 0x6F 3653bc639ceSMatthias Ringwald 36662c64df1SMatthias Ringwald 367941b3855SMatthias Ringwald // L2CAP EVENTS 368941b3855SMatthias Ringwald 369b072ba33SMatthias Ringwald /** 370b072ba33SMatthias Ringwald * @format 1BH222222 371b072ba33SMatthias Ringwald * @param status 372b072ba33SMatthias Ringwald * @param address 373b072ba33SMatthias Ringwald * @param handle 374b072ba33SMatthias Ringwald * @param psm 375b072ba33SMatthias Ringwald * @param local_cid 376b072ba33SMatthias Ringwald * @param remote_cid 377b072ba33SMatthias Ringwald * @param local_mtu 378b072ba33SMatthias Ringwald * @param remote_mtu 379b072ba33SMatthias Ringwald * @param flush_timeout 380b072ba33SMatthias Ringwald */ 381941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED 0x70 382941b3855SMatthias Ringwald 383b072ba33SMatthias Ringwald /* 384b072ba33SMatthias Ringwald * @format 2 385b072ba33SMatthias Ringwald * @param local_cid 386b072ba33SMatthias Ringwald */ 387941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED 0x71 388941b3855SMatthias Ringwald 389b072ba33SMatthias Ringwald /** 3906d4269d3SMilanka Ringwald * @format BH222 391b072ba33SMatthias Ringwald * @param address 392b072ba33SMatthias Ringwald * @param handle 393b072ba33SMatthias Ringwald * @param psm 394b072ba33SMatthias Ringwald * @param local_cid 395b072ba33SMatthias Ringwald * @param remote_cid 396b072ba33SMatthias Ringwald */ 397941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION 0x72 398941b3855SMatthias Ringwald 399b072ba33SMatthias Ringwald // ?? 400941b3855SMatthias Ringwald // data: event(8), len(8), handle(16) 401941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK 0x73 402941b3855SMatthias Ringwald 403b072ba33SMatthias Ringwald /** 404b072ba33SMatthias Ringwald * @format H2222 405b072ba33SMatthias Ringwald * @param handle 406b072ba33SMatthias Ringwald * @param interval_min 407b072ba33SMatthias Ringwald * @param interval_max 408b072ba33SMatthias Ringwald * @param latencey 409b072ba33SMatthias Ringwald * @param timeout_multiplier 410b072ba33SMatthias Ringwald */ 411941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 0x76 412941b3855SMatthias Ringwald 413941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail) 414b072ba33SMatthias Ringwald /** 415b072ba33SMatthias Ringwald * @format H2 416b072ba33SMatthias Ringwald * @param handle 417b072ba33SMatthias Ringwald * @result 418b072ba33SMatthias Ringwald */ 419941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 0x77 420941b3855SMatthias Ringwald 421b072ba33SMatthias Ringwald /** 422b072ba33SMatthias Ringwald * @format 2 423b072ba33SMatthias Ringwald * @param local_cid 424b072ba33SMatthias Ringwald */ 425b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW 0x78 426b072ba33SMatthias Ringwald 427941b3855SMatthias Ringwald // RFCOMM EVENTS 428b072ba33SMatthias Ringwald 429941b3855SMatthias Ringwald /** 430941b3855SMatthias Ringwald * @format 1B2122 431941b3855SMatthias Ringwald * @param status 432941b3855SMatthias Ringwald * @param bd_addr 433941b3855SMatthias Ringwald * @param con_handle 434941b3855SMatthias Ringwald * @param server_channel 435941b3855SMatthias Ringwald * @param rfcomm_cid 436941b3855SMatthias Ringwald * @param max_frame_size 437941b3855SMatthias Ringwald */ 438f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED 0x80 439941b3855SMatthias Ringwald 440941b3855SMatthias Ringwald /** 441941b3855SMatthias Ringwald * @format 2 442941b3855SMatthias Ringwald * @param rfcomm_cid 443941b3855SMatthias Ringwald */ 444941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED 0x81 445941b3855SMatthias Ringwald 446941b3855SMatthias Ringwald /** 447941b3855SMatthias Ringwald * @format B12 448941b3855SMatthias Ringwald * @param bd_addr 449941b3855SMatthias Ringwald * @param server_channel 450941b3855SMatthias Ringwald * @param rfcomm_cid 451941b3855SMatthias Ringwald */ 452941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION 0x82 453941b3855SMatthias Ringwald 454941b3855SMatthias Ringwald /** 455941b3855SMatthias Ringwald * @format 21 456941b3855SMatthias Ringwald * @param rfcomm_cid 457941b3855SMatthias Ringwald * @param line_status 458941b3855SMatthias Ringwald */ 459941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS 0x83 460941b3855SMatthias Ringwald 461941b3855SMatthias Ringwald /** 462941b3855SMatthias Ringwald * @format 21 463941b3855SMatthias Ringwald * @param rfcomm_cid 464941b3855SMatthias Ringwald * @param modem_status 465941b3855SMatthias Ringwald */ 466941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS 0x87 467941b3855SMatthias Ringwald 468941b3855SMatthias Ringwald /** 4697bd8e93bSMatthias Ringwald * TODO: format for variable data 2? 470045013feSMatthias Ringwald * param rfcomm_cid 471045013feSMatthias Ringwald * param rpn_data 472941b3855SMatthias Ringwald */ 473941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION 0x88 474941b3855SMatthias Ringwald 475941b3855SMatthias Ringwald /** 476b072ba33SMatthias Ringwald * @format 2 47762c468cbSMatthias Ringwald * @param rfcomm_cid 478b072ba33SMatthias Ringwald */ 479b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW 0x89 480b072ba33SMatthias Ringwald 481b072ba33SMatthias Ringwald 482b072ba33SMatthias Ringwald /** 483941b3855SMatthias Ringwald * @format 1 484941b3855SMatthias Ringwald * @param status 485941b3855SMatthias Ringwald */ 4865611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE 0x91 487941b3855SMatthias Ringwald 488941b3855SMatthias Ringwald /** 489941b3855SMatthias Ringwald * @format 1T 490941b3855SMatthias Ringwald * @param rfcomm_channel 491941b3855SMatthias Ringwald * @param name 492941b3855SMatthias Ringwald */ 4935611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE 0x92 494941b3855SMatthias Ringwald 495941b3855SMatthias Ringwald /** 4964225393cSMatthias Ringwald * @format 22221 4974225393cSMatthias Ringwald * @param record_id 498941b3855SMatthias Ringwald * @param attribute_id 4994225393cSMatthias Ringwald * @param attribute_length 5004225393cSMatthias Ringwald * @param data_offset 5014225393cSMatthias Ringwald * @param data 502941b3855SMatthias Ringwald */ 5035611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE 0x93 504941b3855SMatthias Ringwald 5054de250b4SMatthias Ringwald /** 5064de250b4SMatthias Ringwald * @format 22LV 5074de250b4SMatthias Ringwald * @param record_id 5084de250b4SMatthias Ringwald * @param attribute_id 5094de250b4SMatthias Ringwald * @param attribute_length 5104de250b4SMatthias Ringwald * @param attribute_value 5114de250b4SMatthias Ringwald */ 5125611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE 0x94 5134225393cSMatthias Ringwald 5144225393cSMatthias Ringwald /** 5154225393cSMatthias Ringwald * @format 224 5164225393cSMatthias Ringwald * @param total_count 5174225393cSMatthias Ringwald * @param record_index 5184225393cSMatthias Ringwald * @param record_handle 5194225393cSMatthias Ringwald * @note Not provided by daemon, only used for internal testing 5204225393cSMatthias Ringwald */ 5215611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 0x95 522941b3855SMatthias Ringwald 523941b3855SMatthias Ringwald /** 524941b3855SMatthias Ringwald * @format H1 525941b3855SMatthias Ringwald * @param handle 526941b3855SMatthias Ringwald * @param status 527941b3855SMatthias Ringwald */ 5285611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE 0xA0 529941b3855SMatthias Ringwald 530941b3855SMatthias Ringwald /** 531941b3855SMatthias Ringwald * @format HX 532941b3855SMatthias Ringwald * @param handle 533941b3855SMatthias Ringwald * @param service 534941b3855SMatthias Ringwald */ 5355611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT 0xA1 536941b3855SMatthias Ringwald 537941b3855SMatthias Ringwald /** 538941b3855SMatthias Ringwald * @format HY 539941b3855SMatthias Ringwald * @param handle 540941b3855SMatthias Ringwald * @param characteristic 541941b3855SMatthias Ringwald */ 5425611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 0xA2 543941b3855SMatthias Ringwald 544941b3855SMatthias Ringwald /** 545941b3855SMatthias Ringwald * @format H2X 546941b3855SMatthias Ringwald * @param handle 547941b3855SMatthias Ringwald * @param include_handle 548941b3855SMatthias Ringwald * @param service 549941b3855SMatthias Ringwald */ 5505611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 0xA3 551941b3855SMatthias Ringwald 552941b3855SMatthias Ringwald /** 553941b3855SMatthias Ringwald * @format HZ 554941b3855SMatthias Ringwald * @param handle 555941b3855SMatthias Ringwald * @param characteristic_descriptor 556941b3855SMatthias Ringwald */ 5575611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 0xA4 558941b3855SMatthias Ringwald 559941b3855SMatthias Ringwald /** 560941b3855SMatthias Ringwald * @format H2LV 561941b3855SMatthias Ringwald * @param handle 562941b3855SMatthias Ringwald * @param value_handle 563941b3855SMatthias Ringwald * @param value_length 564941b3855SMatthias Ringwald * @param value 565941b3855SMatthias Ringwald */ 5665611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA5 567941b3855SMatthias Ringwald 568941b3855SMatthias Ringwald /** 569941b3855SMatthias Ringwald * @format H22LV 570941b3855SMatthias Ringwald * @param handle 571941b3855SMatthias Ringwald * @param value_handle 572941b3855SMatthias Ringwald * @param value_offset 573941b3855SMatthias Ringwald * @param value_length 574941b3855SMatthias Ringwald * @param value 575941b3855SMatthias Ringwald */ 5765611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA6 577941b3855SMatthias Ringwald 578941b3855SMatthias Ringwald /** 579941b3855SMatthias Ringwald * @format H2LV 580941b3855SMatthias Ringwald * @param handle 581941b3855SMatthias Ringwald * @param value_handle 582941b3855SMatthias Ringwald * @param value_length 583941b3855SMatthias Ringwald * @param value 584941b3855SMatthias Ringwald */ 5855611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION 0xA7 586941b3855SMatthias Ringwald 587941b3855SMatthias Ringwald /** 588941b3855SMatthias Ringwald * @format H2LV 589941b3855SMatthias Ringwald * @param handle 590941b3855SMatthias Ringwald * @param value_handle 591941b3855SMatthias Ringwald * @param value_length 592941b3855SMatthias Ringwald * @param value 593941b3855SMatthias Ringwald */ 5945611a760SMatthias Ringwald #define GATT_EVENT_INDICATION 0xA8 595941b3855SMatthias Ringwald 596941b3855SMatthias Ringwald /** 597941b3855SMatthias Ringwald * @format H2LV 598941b3855SMatthias Ringwald * @param descriptor_handle 599941b3855SMatthias Ringwald * @param descriptor_length 600941b3855SMatthias Ringwald * @param descriptor 601941b3855SMatthias Ringwald */ 6025611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xA9 603941b3855SMatthias Ringwald 604941b3855SMatthias Ringwald /** 605941b3855SMatthias Ringwald * @format H2LV 606941b3855SMatthias Ringwald * @param handle 607941b3855SMatthias Ringwald * @param descriptor_offset 608941b3855SMatthias Ringwald * @param descriptor_length 609941b3855SMatthias Ringwald * @param descriptor 610941b3855SMatthias Ringwald */ 6115611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xAA 612941b3855SMatthias Ringwald 613941b3855SMatthias Ringwald /** 614941b3855SMatthias Ringwald * @format H2 615941b3855SMatthias Ringwald * @param handle 616941b3855SMatthias Ringwald * @param MTU 617941b3855SMatthias Ringwald */ 6185611a760SMatthias Ringwald #define GATT_EVENT_MTU 0xAB 619941b3855SMatthias Ringwald 620941b3855SMatthias Ringwald /** 621941b3855SMatthias Ringwald * @format H2 622941b3855SMatthias Ringwald * @param handle 623941b3855SMatthias Ringwald * @param MTU 624941b3855SMatthias Ringwald */ 6255611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE 0xB5 626941b3855SMatthias Ringwald 62749d18261SMatthias Ringwald /** 62849d18261SMatthias Ringwald * @format 1H2 62949d18261SMatthias Ringwald * @param status 63049d18261SMatthias Ringwald * @param conn_handle 63149d18261SMatthias Ringwald * @param attribute_handle 63249d18261SMatthias Ringwald */ 6335611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 0xB6 634941b3855SMatthias Ringwald 63549d18261SMatthias Ringwald /** 63649d18261SMatthias Ringwald * @format 63749d18261SMatthias Ringwald */ 63849d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW 0xB7 639941b3855SMatthias Ringwald 64049d18261SMatthias Ringwald // TODO: daemon only event 64149d18261SMatthias Ringwald 64249d18261SMatthias Ringwald /** 64349d18261SMatthias Ringwald * @format 12 64449d18261SMatthias Ringwald * @param status 64549d18261SMatthias Ringwald * @param service_uuid 64649d18261SMatthias Ringwald */ 647941b3855SMatthias Ringwald #define BNEP_EVENT_SERVICE_REGISTERED 0xC0 648941b3855SMatthias Ringwald 64949d18261SMatthias Ringwald /** 650423c667cSMatthias Ringwald * @format 12222B 65149d18261SMatthias Ringwald * @param status 652423c667cSMatthias Ringwald * @param bnep_cid 65349d18261SMatthias Ringwald * @param source_uuid 65449d18261SMatthias Ringwald * @param destination_uuid 65549d18261SMatthias Ringwald * @param mtu 65649d18261SMatthias Ringwald * @param remote_address 65749d18261SMatthias Ringwald */ 658423c667cSMatthias Ringwald #define BNEP_EVENT_CHANNEL_OPENED 0xC1 659941b3855SMatthias Ringwald 66049d18261SMatthias Ringwald /** 661423c667cSMatthias Ringwald * @format 222B 662423c667cSMatthias Ringwald * @param bnep_cid 66349d18261SMatthias Ringwald * @param source_uuid 66449d18261SMatthias Ringwald * @param destination_uuid 66549d18261SMatthias Ringwald * @param remote_address 66649d18261SMatthias Ringwald */ 667941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_CLOSED 0xC2 668941b3855SMatthias Ringwald 66949d18261SMatthias Ringwald /** 670423c667cSMatthias Ringwald * @format 222B1 671423c667cSMatthias Ringwald * @param bnep_cid 67249d18261SMatthias Ringwald * @param source_uuid 67349d18261SMatthias Ringwald * @param destination_uuid 67449d18261SMatthias Ringwald * @param remote_address 67549d18261SMatthias Ringwald * @param channel_state 67649d18261SMatthias Ringwald */ 677941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT 0xC3 678941b3855SMatthias Ringwald 67949d18261SMatthias Ringwald /** 680423c667cSMatthias Ringwald * @format 222B 681423c667cSMatthias Ringwald * @param bnep_cid 68249d18261SMatthias Ringwald * @param source_uuid 68349d18261SMatthias Ringwald * @param destination_uuid 68449d18261SMatthias Ringwald * @param remote_address 68549d18261SMatthias Ringwald */ 6862d4c8c04SMatthias Ringwald #define BNEP_EVENT_CAN_SEND_NOW 0xC4 687941b3855SMatthias Ringwald 688941b3855SMatthias Ringwald /** 689941b3855SMatthias Ringwald * @format H1B 690941b3855SMatthias Ringwald * @param handle 691941b3855SMatthias Ringwald * @param addr_type 692941b3855SMatthias Ringwald * @param address 693941b3855SMatthias Ringwald */ 6945611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST 0xD0 695941b3855SMatthias Ringwald 696941b3855SMatthias Ringwald /** 697941b3855SMatthias Ringwald * @format H1B 698941b3855SMatthias Ringwald * @param handle 699941b3855SMatthias Ringwald * @param addr_type 700941b3855SMatthias Ringwald * @param address 701941b3855SMatthias Ringwald */ 7025611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL 0xD1 703941b3855SMatthias Ringwald 704941b3855SMatthias Ringwald /** 705941b3855SMatthias Ringwald * @format H1B4 706941b3855SMatthias Ringwald * @param handle 707941b3855SMatthias Ringwald * @param addr_type 708941b3855SMatthias Ringwald * @param address 709941b3855SMatthias Ringwald * @param passkey 710941b3855SMatthias Ringwald */ 7115611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER 0xD2 712941b3855SMatthias Ringwald 713941b3855SMatthias Ringwald /** 714941b3855SMatthias Ringwald * @format H1B 715941b3855SMatthias Ringwald * @param handle 716941b3855SMatthias Ringwald * @param addr_type 717941b3855SMatthias Ringwald * @param address 718941b3855SMatthias Ringwald */ 7195611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL 0xD3 720941b3855SMatthias Ringwald 721941b3855SMatthias Ringwald /** 722941b3855SMatthias Ringwald * @format H1B421 723941b3855SMatthias Ringwald * @param handle 724941b3855SMatthias Ringwald * @param addr_type 725941b3855SMatthias Ringwald * @param address 726941b3855SMatthias Ringwald */ 7275611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER 0xD4 728941b3855SMatthias Ringwald 729941b3855SMatthias Ringwald /** 730941b3855SMatthias Ringwald * @format H1B 731941b3855SMatthias Ringwald * @param handle 732941b3855SMatthias Ringwald * @param addr_type 733941b3855SMatthias Ringwald * @param address 734941b3855SMatthias Ringwald */ 7355611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL 0xD5 736941b3855SMatthias Ringwald 737941b3855SMatthias Ringwald /** 7388362d86aSMatthias Ringwald * @format H1B4 7398362d86aSMatthias Ringwald * @param handle 7408362d86aSMatthias Ringwald * @param addr_type 7418362d86aSMatthias Ringwald * @param address 7428362d86aSMatthias Ringwald * @param passkey 7438362d86aSMatthias Ringwald */ 7448362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST 0xD6 7458362d86aSMatthias Ringwald 7468362d86aSMatthias Ringwald /** 7478362d86aSMatthias Ringwald * @format H1B4 748941b3855SMatthias Ringwald * @param handle 749941b3855SMatthias Ringwald * @param addr_type 750941b3855SMatthias Ringwald * @param address 751941b3855SMatthias Ringwald */ 7528362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL 0xD7 753941b3855SMatthias Ringwald 754941b3855SMatthias Ringwald /** 755941b3855SMatthias Ringwald * @format H1B 756941b3855SMatthias Ringwald * @param handle 757941b3855SMatthias Ringwald * @param addr_type 758941b3855SMatthias Ringwald * @param address 759941b3855SMatthias Ringwald */ 7608362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED 0xD8 7618362d86aSMatthias Ringwald 7628362d86aSMatthias Ringwald /** 7638362d86aSMatthias Ringwald * @format H1B 7648362d86aSMatthias Ringwald * @param handle 7658362d86aSMatthias Ringwald * @param addr_type 7668362d86aSMatthias Ringwald * @param address 7678362d86aSMatthias Ringwald */ 7688362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED 0xD9 769941b3855SMatthias Ringwald 770941b3855SMatthias Ringwald /** 771941b3855SMatthias Ringwald * @format H1B2 772941b3855SMatthias Ringwald * @param handle 773941b3855SMatthias Ringwald * @param addr_type 774941b3855SMatthias Ringwald * @param address 775941b3855SMatthias Ringwald * @param le_device_db_index 776941b3855SMatthias Ringwald */ 7778362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 0xDA 778941b3855SMatthias Ringwald 779941b3855SMatthias Ringwald /** 780941b3855SMatthias Ringwald * @format H1B 781941b3855SMatthias Ringwald * @param handle 782941b3855SMatthias Ringwald * @param addr_type 783941b3855SMatthias Ringwald * @param address 784941b3855SMatthias Ringwald */ 7858362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST 0xDB 786941b3855SMatthias Ringwald 787941b3855SMatthias Ringwald /** 788941b3855SMatthias Ringwald * @format H1B1 789941b3855SMatthias Ringwald * @param handle 790941b3855SMatthias Ringwald * @param addr_type 791941b3855SMatthias Ringwald * @param address 792941b3855SMatthias Ringwald * @param authorization_result 793941b3855SMatthias Ringwald */ 7948362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT 0xDC 795941b3855SMatthias Ringwald 796*3d7fe1e9SMatthias Ringwald /** 797*3d7fe1e9SMatthias Ringwald * @format H1 798*3d7fe1e9SMatthias Ringwald * @param handle 799*3d7fe1e9SMatthias Ringwald * @param action see SM_KEYPRESS_* 800*3d7fe1e9SMatthias Ringwald */ 801*3d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION 0xDD 802*3d7fe1e9SMatthias Ringwald 803*3d7fe1e9SMatthias Ringwald 804941b3855SMatthias Ringwald // GAP 805941b3855SMatthias Ringwald 80646bc5396SMilanka Ringwald /** 80746bc5396SMilanka Ringwald * @format H1 80846bc5396SMilanka Ringwald * @param handle 80946bc5396SMilanka Ringwald * @param security_level 81046bc5396SMilanka Ringwald */ 8115611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL 0xE0 812941b3855SMatthias Ringwald 81346bc5396SMilanka Ringwald /** 81446bc5396SMilanka Ringwald * @format 1B 81546bc5396SMilanka Ringwald * @param status 81646bc5396SMilanka Ringwald * @param address 81746bc5396SMilanka Ringwald */ 8185611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED 0xE1 819941b3855SMatthias Ringwald 820941b3855SMatthias Ringwald /** 821941b3855SMatthias Ringwald * @format 11B1JV 822941b3855SMatthias Ringwald * @param advertising_event_type 823941b3855SMatthias Ringwald * @param address_type 824941b3855SMatthias Ringwald * @param address 825941b3855SMatthias Ringwald * @param rssi 826941b3855SMatthias Ringwald * @param data_length 827941b3855SMatthias Ringwald * @param data 828941b3855SMatthias Ringwald */ 829045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT 0xE2 830941b3855SMatthias Ringwald 831827b1c43SMatthias Ringwald 832e10ce426SMatthias Ringwald // Meta Events, see below for sub events 833941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META 0xE8 83439d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META 0xE9 835e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META 0xEA 83639d235cbSMatthias Ringwald 837e10ce426SMatthias Ringwald // Potential other meta groups 838e10ce426SMatthias Ringwald // #define HCI_EVENT_BNEP_META 0xxx 839e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META 0xxx 840e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META 0xxx 841e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META 0xxx 842e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META 0xxx 843e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META 0xxx 84439d235cbSMatthias Ringwald 845d63c37a1SMatthias Ringwald 846d63c37a1SMatthias Ringwald /** HSP Subevent */ 847d63c37a1SMatthias Ringwald 848827b1c43SMatthias Ringwald /** 84999a10067SMatthias Ringwald * @format 11 850827b1c43SMatthias Ringwald * @param subevent_code 851827b1c43SMatthias Ringwald * @param status 0 == OK 852827b1c43SMatthias Ringwald */ 85399a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 0x01 85499a10067SMatthias Ringwald 85599a10067SMatthias Ringwald /** 85699a10067SMatthias Ringwald * @format 11 85799a10067SMatthias Ringwald * @param subevent_code 85899a10067SMatthias Ringwald * @param status 0 == OK 85999a10067SMatthias Ringwald */ 86099a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 0x02 86199a10067SMatthias Ringwald 86299a10067SMatthias Ringwald 86399a10067SMatthias Ringwald /** 86462c468cbSMatthias Ringwald * @format 11H 86599a10067SMatthias Ringwald * @param subevent_code 86699a10067SMatthias Ringwald * @param status 0 == OK 86762c468cbSMatthias Ringwald * @param handle 86899a10067SMatthias Ringwald */ 86999a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x03 870827b1c43SMatthias Ringwald 871827b1c43SMatthias Ringwald /** 872827b1c43SMatthias Ringwald * @format 11 873827b1c43SMatthias Ringwald * @param subevent_code 874827b1c43SMatthias Ringwald * @param status 0 == OK 875827b1c43SMatthias Ringwald */ 87699a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 0x04 877827b1c43SMatthias Ringwald 878827b1c43SMatthias Ringwald /** 879827b1c43SMatthias Ringwald * @format 1 880827b1c43SMatthias Ringwald * @param subevent_code 881827b1c43SMatthias Ringwald */ 88299a10067SMatthias Ringwald #define HSP_SUBEVENT_RING 0x05 883827b1c43SMatthias Ringwald 884827b1c43SMatthias Ringwald /** 885827b1c43SMatthias Ringwald * @format 11 886827b1c43SMatthias Ringwald * @param subevent_code 887827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 888827b1c43SMatthias Ringwald */ 88999a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 0x06 890827b1c43SMatthias Ringwald 891827b1c43SMatthias Ringwald /** 892827b1c43SMatthias Ringwald * @format 11 893827b1c43SMatthias Ringwald * @param subevent_code 894827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 895827b1c43SMatthias Ringwald */ 89699a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 0x07 897827b1c43SMatthias Ringwald 898827b1c43SMatthias Ringwald /** 899827b1c43SMatthias Ringwald * @format 1JV 900827b1c43SMatthias Ringwald * @param subevent_code 901827b1c43SMatthias Ringwald * @param value_length 902827b1c43SMatthias Ringwald * @param value 903827b1c43SMatthias Ringwald */ 90499a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND 0x08 905827b1c43SMatthias Ringwald 906827b1c43SMatthias Ringwald /** 907827b1c43SMatthias Ringwald * @format 1JV 908827b1c43SMatthias Ringwald * @param subevent_code 909827b1c43SMatthias Ringwald * @param value_length 910827b1c43SMatthias Ringwald * @param value 911827b1c43SMatthias Ringwald */ 91299a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION 0x09 913827b1c43SMatthias Ringwald 914941b3855SMatthias Ringwald 915d63c37a1SMatthias Ringwald /** HFP Subevent */ 916941b3855SMatthias Ringwald 917d63c37a1SMatthias Ringwald /** 918a0653c3bSMilanka Ringwald * @format 11H 919d63c37a1SMatthias Ringwald * @param subevent_code 920d63c37a1SMatthias Ringwald * @param status 0 == OK 921a0653c3bSMilanka Ringwald * @param con_handle 922d63c37a1SMatthias Ringwald */ 923941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 0x01 924d63c37a1SMatthias Ringwald 925d63c37a1SMatthias Ringwald /** 926d63c37a1SMatthias Ringwald * @format 1 927d63c37a1SMatthias Ringwald * @param subevent_code 928d63c37a1SMatthias Ringwald */ 929941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 0x02 930d63c37a1SMatthias Ringwald 931d63c37a1SMatthias Ringwald /** 9326ff51cfdSMatthias Ringwald * @format 11H 933d63c37a1SMatthias Ringwald * @param subevent_code 934d63c37a1SMatthias Ringwald * @param status 0 == OK 9356ff51cfdSMatthias Ringwald * @param handle 936d63c37a1SMatthias Ringwald */ 937941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 0x03 938d63c37a1SMatthias Ringwald 939d63c37a1SMatthias Ringwald /** 940d63c37a1SMatthias Ringwald * @format 1 941d63c37a1SMatthias Ringwald * @param subevent_code 942d63c37a1SMatthias Ringwald */ 943941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 0x04 944d63c37a1SMatthias Ringwald 945d63c37a1SMatthias Ringwald /** 946d63c37a1SMatthias Ringwald * @format 11 947d63c37a1SMatthias Ringwald * @param subevent_code 948d63c37a1SMatthias Ringwald * @param status 0 == OK 949d63c37a1SMatthias Ringwald */ 950941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE 0x05 951d63c37a1SMatthias Ringwald 952d63c37a1SMatthias Ringwald /** 953d63c37a1SMatthias Ringwald * @format 111T 954d63c37a1SMatthias Ringwald * @param subevent_code 955d63c37a1SMatthias Ringwald * @param indicator_index 956d63c37a1SMatthias Ringwald * @param indicator_status 957d63c37a1SMatthias Ringwald * @param indicator_name 958d63c37a1SMatthias Ringwald */ 959941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 0x06 960d63c37a1SMatthias Ringwald 961d63c37a1SMatthias Ringwald /** 962d63c37a1SMatthias Ringwald * @format 1111T 963d63c37a1SMatthias Ringwald * @param subevent_code 964d63c37a1SMatthias Ringwald * @param network_operator_mode 965d63c37a1SMatthias Ringwald * @param network_operator_format 966d63c37a1SMatthias Ringwald * @param network_operator_name 967d63c37a1SMatthias Ringwald */ 968941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 0x07 969d63c37a1SMatthias Ringwald 970d63c37a1SMatthias Ringwald /** 971d63c37a1SMatthias Ringwald * @format 11 972d63c37a1SMatthias Ringwald * @param subevent_code 973d63c37a1SMatthias Ringwald * @param error 974d63c37a1SMatthias Ringwald */ 975941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 0x08 976d63c37a1SMatthias Ringwald 977d63c37a1SMatthias Ringwald /** 978d63c37a1SMatthias Ringwald * @format 11 979d63c37a1SMatthias Ringwald * @param subevent_code 980d63c37a1SMatthias Ringwald * @param status 981d63c37a1SMatthias Ringwald */ 982941b3855SMatthias Ringwald #define HFP_SUBEVENT_CODECS_CONNECTION_COMPLETE 0x09 983d63c37a1SMatthias Ringwald 984d63c37a1SMatthias Ringwald /** 985d63c37a1SMatthias Ringwald * @format 1 986d63c37a1SMatthias Ringwald * @param subevent_code 987d63c37a1SMatthias Ringwald */ 988aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG 0x0A 989d63c37a1SMatthias Ringwald 990d63c37a1SMatthias Ringwald /** 991d63c37a1SMatthias Ringwald * @format 1 992d63c37a1SMatthias Ringwald * @param subevent_code 993d63c37a1SMatthias Ringwald */ 994aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG 0x0B 995d63c37a1SMatthias Ringwald 996d63c37a1SMatthias Ringwald /** 997d63c37a1SMatthias Ringwald * @format 1 998d63c37a1SMatthias Ringwald * @param subevent_code 999d63c37a1SMatthias Ringwald */ 1000aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED 0x0C 1001d63c37a1SMatthias Ringwald 1002d63c37a1SMatthias Ringwald /** 1003d63c37a1SMatthias Ringwald * @format 1T 1004d63c37a1SMatthias Ringwald * @param subevent_code 1005d63c37a1SMatthias Ringwald * @param number 1006d63c37a1SMatthias Ringwald */ 1007aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 0x0D 1008d63c37a1SMatthias Ringwald 1009d63c37a1SMatthias Ringwald /** 1010d63c37a1SMatthias Ringwald * @format 1 1011d63c37a1SMatthias Ringwald * @param subevent_code 1012d63c37a1SMatthias Ringwald */ 1013d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 0x0E 1014d63c37a1SMatthias Ringwald 1015d63c37a1SMatthias Ringwald /** 1016d63c37a1SMatthias Ringwald * @format 1T 1017d63c37a1SMatthias Ringwald * @param subevent_code 1018d63c37a1SMatthias Ringwald * @param number 1019d63c37a1SMatthias Ringwald */ 1020d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 0x0F 1021d63c37a1SMatthias Ringwald 1022d63c37a1SMatthias Ringwald /** 1023d63c37a1SMatthias Ringwald * @format 1T 1024d63c37a1SMatthias Ringwald * @param subevent_code 1025d63c37a1SMatthias Ringwald * @param dtmf code 1026d63c37a1SMatthias Ringwald */ 1027d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES 0x10 1028d63c37a1SMatthias Ringwald 1029d63c37a1SMatthias Ringwald /** 1030d63c37a1SMatthias Ringwald * @format 1 1031d63c37a1SMatthias Ringwald * @param subevent_code 1032d63c37a1SMatthias Ringwald */ 1033d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_ANSWERED 0x11 1034d63c37a1SMatthias Ringwald 1035d63c37a1SMatthias Ringwald /** 1036d63c37a1SMatthias Ringwald * @format 1 1037d63c37a1SMatthias Ringwald * @param subevent_code 1038d63c37a1SMatthias Ringwald */ 1039d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL 0x12 1040d63c37a1SMatthias Ringwald 1041d63c37a1SMatthias Ringwald /** 1042d63c37a1SMatthias Ringwald * @format 1 1043d63c37a1SMatthias Ringwald * @param subevent_code 1044d63c37a1SMatthias Ringwald */ 1045d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING 0x13 1046d63c37a1SMatthias Ringwald 1047d63c37a1SMatthias Ringwald /** 1048d63c37a1SMatthias Ringwald * @format 111 1049d63c37a1SMatthias Ringwald * @param subevent_code 1050d63c37a1SMatthias Ringwald * @param status 1051d63c37a1SMatthias Ringwald * @param gain 1052d63c37a1SMatthias Ringwald */ 1053d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SPEAKER_VOLUME 0x14 1054d63c37a1SMatthias Ringwald 1055d63c37a1SMatthias Ringwald /** 1056d63c37a1SMatthias Ringwald * @format 111 1057d63c37a1SMatthias Ringwald * @param subevent_code 1058d63c37a1SMatthias Ringwald * @param status 1059d63c37a1SMatthias Ringwald * @param gain 1060d63c37a1SMatthias Ringwald */ 1061d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME 0x15 1062d63c37a1SMatthias Ringwald 1063d63c37a1SMatthias Ringwald /** 1064d63c37a1SMatthias Ringwald * @format 11T 1065d63c37a1SMatthias Ringwald * @param subevent_code 1066d63c37a1SMatthias Ringwald * @param type 1067d63c37a1SMatthias Ringwald * @param number 1068d63c37a1SMatthias Ringwald */ 1069d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 0x16 1070d63c37a1SMatthias Ringwald 1071d63c37a1SMatthias Ringwald /** 1072d63c37a1SMatthias Ringwald * @format 11T 1073d63c37a1SMatthias Ringwald * @param subevent_code 1074d63c37a1SMatthias Ringwald * @param type 1075d63c37a1SMatthias Ringwald * @param number 1076d63c37a1SMatthias Ringwald */ 1077d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17 1078d63c37a1SMatthias Ringwald 1079d63c37a1SMatthias Ringwald /** 1080d63c37a1SMatthias Ringwald * @format 111111T 1081d63c37a1SMatthias Ringwald * @param subevent_code 1082d63c37a1SMatthias Ringwald * @param clcc_idx 1083d63c37a1SMatthias Ringwald * @param clcc_dir 1084d63c37a1SMatthias Ringwald * @param clcc_status 1085d63c37a1SMatthias Ringwald * @param clcc_mpty 1086d63c37a1SMatthias Ringwald * @param bnip_type 1087d63c37a1SMatthias Ringwald * @param bnip_number 1088d63c37a1SMatthias Ringwald */ 1089d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS 0x18 1090d63c37a1SMatthias Ringwald 1091d63c37a1SMatthias Ringwald /** 1092d63c37a1SMatthias Ringwald * @format 111T 1093d63c37a1SMatthias Ringwald * @param subevent_code 1094d63c37a1SMatthias Ringwald * @param status 1095d63c37a1SMatthias Ringwald * @param bnip_type 1096d63c37a1SMatthias Ringwald * @param bnip_number 1097d63c37a1SMatthias Ringwald */ 1098d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 0x19 1099d63c37a1SMatthias Ringwald 1100d63c37a1SMatthias Ringwald /** 1101d63c37a1SMatthias Ringwald * @format 1T 1102d63c37a1SMatthias Ringwald * @param subevent_code 1103d63c37a1SMatthias Ringwald * @param value 1104d63c37a1SMatthias Ringwald */ 1105d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 0x1A 1106941b3855SMatthias Ringwald 1107941b3855SMatthias Ringwald // ANCS Client 1108a4815874SMatthias Ringwald 1109a4815874SMatthias Ringwald /** 1110e10ce426SMatthias Ringwald * @format 1H 1111e10ce426SMatthias Ringwald * @param subevent_code 1112a4815874SMatthias Ringwald * @param handle 1113a4815874SMatthias Ringwald */ 1114e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED 0xF0 1115a4815874SMatthias Ringwald 1116a4815874SMatthias Ringwald /** 1117e10ce426SMatthias Ringwald * @format 1H2T 1118e10ce426SMatthias Ringwald * @param subevent_code 1119a4815874SMatthias Ringwald * @param handle 1120a4815874SMatthias Ringwald * @param attribute_id 1121a4815874SMatthias Ringwald * @param text 1122a4815874SMatthias Ringwald */ 1123e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION 0xF1 1124a4815874SMatthias Ringwald 1125a4815874SMatthias Ringwald /** 1126e10ce426SMatthias Ringwald * @format 1H 1127e10ce426SMatthias Ringwald * @param subevent_code 1128a4815874SMatthias Ringwald * @param handle 1129a4815874SMatthias Ringwald */ 1130e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED 0xF2 1131941b3855SMatthias Ringwald 1132941b3855SMatthias Ringwald #endif 1133