The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_ARM_BEETLE_SOC/TOOLCHAIN_IAR/hci_defs.h@172:65be27845400, 2019-02-20 (annotated)
- Committer:
- AnnaBridge
- Date:
- Wed Feb 20 20:53:29 2019 +0000
- Revision:
- 172:65be27845400
- Parent:
- 171:3a7713b1edbc
mbed library release version 165
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AnnaBridge | 171:3a7713b1edbc | 1 | /*************************************************************************************************/ |
AnnaBridge | 171:3a7713b1edbc | 2 | /*! |
AnnaBridge | 171:3a7713b1edbc | 3 | * \file hci_defs.h |
AnnaBridge | 171:3a7713b1edbc | 4 | * |
AnnaBridge | 171:3a7713b1edbc | 5 | * \brief HCI constants and definitions from the Bluetooth specification. |
AnnaBridge | 171:3a7713b1edbc | 6 | * |
AnnaBridge | 171:3a7713b1edbc | 7 | * $Date: 2016-04-18 22:05:04 -0700 (Mon, 18 Apr 2016) $ |
AnnaBridge | 171:3a7713b1edbc | 8 | * $Revision: 6857 $ |
AnnaBridge | 171:3a7713b1edbc | 9 | * |
AnnaBridge | 171:3a7713b1edbc | 10 | * Copyright (c) 2009 Wicentric, Inc., all rights reserved. |
AnnaBridge | 171:3a7713b1edbc | 11 | * Wicentric confidential and proprietary. |
AnnaBridge | 171:3a7713b1edbc | 12 | * |
AnnaBridge | 171:3a7713b1edbc | 13 | * IMPORTANT. Your use of this file is governed by a Software License Agreement |
AnnaBridge | 171:3a7713b1edbc | 14 | * ("Agreement") that must be accepted in order to download or otherwise receive a |
AnnaBridge | 171:3a7713b1edbc | 15 | * copy of this file. You may not use or copy this file for any purpose other than |
AnnaBridge | 171:3a7713b1edbc | 16 | * as described in the Agreement. If you do not agree to all of the terms of the |
AnnaBridge | 171:3a7713b1edbc | 17 | * Agreement do not use this file and delete all copies in your possession or control; |
AnnaBridge | 171:3a7713b1edbc | 18 | * if you do not have a copy of the Agreement, you must contact Wicentric, Inc. prior |
AnnaBridge | 171:3a7713b1edbc | 19 | * to any use, copying or further distribution of this software. |
AnnaBridge | 171:3a7713b1edbc | 20 | */ |
AnnaBridge | 171:3a7713b1edbc | 21 | /*************************************************************************************************/ |
AnnaBridge | 171:3a7713b1edbc | 22 | #ifndef HCI_DEFS_H |
AnnaBridge | 171:3a7713b1edbc | 23 | #define HCI_DEFS_H |
AnnaBridge | 171:3a7713b1edbc | 24 | |
AnnaBridge | 171:3a7713b1edbc | 25 | #ifdef __cplusplus |
AnnaBridge | 171:3a7713b1edbc | 26 | extern "C" { |
AnnaBridge | 171:3a7713b1edbc | 27 | #endif |
AnnaBridge | 171:3a7713b1edbc | 28 | |
AnnaBridge | 171:3a7713b1edbc | 29 | /*! Packet definitions */ |
AnnaBridge | 171:3a7713b1edbc | 30 | #define HCI_CMD_HDR_LEN 3 /*! Command packet header length */ |
AnnaBridge | 171:3a7713b1edbc | 31 | #define HCI_ACL_HDR_LEN 4 /*! ACL packet header length */ |
AnnaBridge | 171:3a7713b1edbc | 32 | #define HCI_EVT_HDR_LEN 2 /*! Event packet header length */ |
AnnaBridge | 171:3a7713b1edbc | 33 | #define HCI_EVT_PARAM_MAX_LEN 255 /*! Maximum length of event packet parameters */ |
AnnaBridge | 171:3a7713b1edbc | 34 | #define HCI_ACL_DEFAULT_LEN 27 /*! Default maximum ACL packet length */ |
AnnaBridge | 171:3a7713b1edbc | 35 | #define HCI_PB_FLAG_MASK 0x3000 /*! ACL packet boundary flag mask */ |
AnnaBridge | 171:3a7713b1edbc | 36 | #define HCI_PB_START_H2C 0x0000 /*! Packet boundary flag, start, host-to-controller */ |
AnnaBridge | 171:3a7713b1edbc | 37 | #define HCI_PB_CONTINUE 0x1000 /*! Packet boundary flag, continue */ |
AnnaBridge | 171:3a7713b1edbc | 38 | #define HCI_PB_START_C2H 0x2000 /*! Packet boundary flag, start, controller-to-host */ |
AnnaBridge | 171:3a7713b1edbc | 39 | #define HCI_HANDLE_MASK 0x0FFF /*! Mask for handle bits in ACL packet */ |
AnnaBridge | 171:3a7713b1edbc | 40 | #define HCI_HANDLE_NONE 0xFFFF /*! Value for invalid handle */ |
AnnaBridge | 171:3a7713b1edbc | 41 | |
AnnaBridge | 171:3a7713b1edbc | 42 | /*! Packet types */ |
AnnaBridge | 171:3a7713b1edbc | 43 | #define HCI_CMD_TYPE 1 /*! HCI command packet */ |
AnnaBridge | 171:3a7713b1edbc | 44 | #define HCI_ACL_TYPE 2 /*! HCI ACL data packet */ |
AnnaBridge | 171:3a7713b1edbc | 45 | #define HCI_EVT_TYPE 4 /*! HCI event packet */ |
AnnaBridge | 171:3a7713b1edbc | 46 | |
AnnaBridge | 171:3a7713b1edbc | 47 | /*! Error codes */ |
AnnaBridge | 171:3a7713b1edbc | 48 | #define HCI_SUCCESS 0x00 /*! Success */ |
AnnaBridge | 171:3a7713b1edbc | 49 | #define HCI_ERR_UNKNOWN_CMD 0x01 /*! Unknown HCI command */ |
AnnaBridge | 171:3a7713b1edbc | 50 | #define HCI_ERR_UNKNOWN_HANDLE 0x02 /*! Unknown connection identifier */ |
AnnaBridge | 171:3a7713b1edbc | 51 | #define HCI_ERR_HARDWARE_FAILURE 0x03 /*! Hardware failure */ |
AnnaBridge | 171:3a7713b1edbc | 52 | #define HCI_ERR_PAGE_TIMEOUT 0x04 /*! Page timeout */ |
AnnaBridge | 171:3a7713b1edbc | 53 | #define HCI_ERR_AUTH_FAILURE 0x05 /*! Authentication failure */ |
AnnaBridge | 171:3a7713b1edbc | 54 | #define HCI_ERR_KEY_MISSING 0x06 /*! PIN or key missing */ |
AnnaBridge | 171:3a7713b1edbc | 55 | #define HCI_ERR_MEMORY_EXCEEDED 0x07 /*! Memory capacity exceeded */ |
AnnaBridge | 171:3a7713b1edbc | 56 | #define HCI_ERR_CONN_TIMEOUT 0x08 /*! Connection timeout */ |
AnnaBridge | 171:3a7713b1edbc | 57 | #define HCI_ERR_CONN_LIMIT 0x09 /*! Connection limit exceeded */ |
AnnaBridge | 171:3a7713b1edbc | 58 | #define HCI_ERR_SYNCH_CONN_LIMIT 0x0A /*! Synchronous connection limit exceeded */ |
AnnaBridge | 171:3a7713b1edbc | 59 | #define HCI_ERR_ACL_CONN_EXISTS 0x0B /*! ACL connection already exists */ |
AnnaBridge | 171:3a7713b1edbc | 60 | #define HCI_ERR_CMD_DISALLOWED 0x0C /*! Command disallowed */ |
AnnaBridge | 171:3a7713b1edbc | 61 | #define HCI_ERR_REJ_RESOURCES 0x0D /*! Connection rejected limited resources */ |
AnnaBridge | 171:3a7713b1edbc | 62 | #define HCI_ERR_REJ_SECURITY 0x0E /*! Connection rejected security reasons */ |
AnnaBridge | 171:3a7713b1edbc | 63 | #define HCI_ERR_REJ_BD_ADDR 0x0F /*! Connection rejected unacceptable BD_ADDR */ |
AnnaBridge | 171:3a7713b1edbc | 64 | #define HCI_ERR_ACCEPT_TIMEOUT 0x10 /*! Connection accept timeout exceeded */ |
AnnaBridge | 171:3a7713b1edbc | 65 | #define HCI_ERR_UNSUP_FEAT 0x11 /*! Unsupported feature or parameter value */ |
AnnaBridge | 171:3a7713b1edbc | 66 | #define HCI_ERR_INVALID_PARAM 0x12 /*! Invalid HCI command parameters */ |
AnnaBridge | 171:3a7713b1edbc | 67 | #define HCI_ERR_REMOTE_TERMINATED 0x13 /*! Remote user terminated connection */ |
AnnaBridge | 171:3a7713b1edbc | 68 | #define HCI_ERR_REMOTE_RESOURCES 0x14 /*! Remote device low resources */ |
AnnaBridge | 171:3a7713b1edbc | 69 | #define HCI_ERR_REMOTE_POWER_OFF 0x15 /*! Remote device power off */ |
AnnaBridge | 171:3a7713b1edbc | 70 | #define HCI_ERR_LOCAL_TERMINATED 0x16 /*! Connection terminated by local host */ |
AnnaBridge | 171:3a7713b1edbc | 71 | #define HCI_ERR_REPEATED_ATTEMPTS 0x17 /*! Repeated attempts */ |
AnnaBridge | 171:3a7713b1edbc | 72 | #define HCI_ERR_PAIRING_NOT_ALLOWED 0x18 /*! Pairing not allowed */ |
AnnaBridge | 171:3a7713b1edbc | 73 | #define HCI_ERR_UNKNOWN_LMP_PDU 0x19 /*! Unknown LMP PDU */ |
AnnaBridge | 171:3a7713b1edbc | 74 | #define HCI_ERR_UNSUP_REMOTE_FEAT 0x1A /*! Unsupported remote feature */ |
AnnaBridge | 171:3a7713b1edbc | 75 | #define HCI_ERR_SCO_OFFSET 0x1B /*! SCO offset rejected */ |
AnnaBridge | 171:3a7713b1edbc | 76 | #define HCI_ERR_SCO_INTERVAL 0x1C /*! SCO interval rejected */ |
AnnaBridge | 171:3a7713b1edbc | 77 | #define HCI_ERR_SCO_MODE 0x1D /*! SCO air mode rejected */ |
AnnaBridge | 171:3a7713b1edbc | 78 | #define HCI_ERR_LMP_PARAM 0x1E /*! Invalid LMP parameters */ |
AnnaBridge | 171:3a7713b1edbc | 79 | #define HCI_ERR_UNSPECIFIED 0x1F /*! Unspecified error */ |
AnnaBridge | 171:3a7713b1edbc | 80 | #define HCI_ERR_UNSUP_LMP_PARAM 0x20 /*! Unsupported LMP parameter value */ |
AnnaBridge | 171:3a7713b1edbc | 81 | #define HCI_ERR_ROLE_CHANGE 0x21 /*! Role change not allowed */ |
AnnaBridge | 171:3a7713b1edbc | 82 | #define HCI_ERR_LL_RESP_TIMEOUT 0x22 /*! LL response timeout */ |
AnnaBridge | 171:3a7713b1edbc | 83 | #define HCI_ERR_LMP_COLLISION 0x23 /*! LMP error transaction collision */ |
AnnaBridge | 171:3a7713b1edbc | 84 | #define HCI_ERR_LMP_PDU 0x24 /*! LMP pdu not allowed */ |
AnnaBridge | 171:3a7713b1edbc | 85 | #define HCI_ERR_ENCRYPT_MODE 0x25 /*! Encryption mode not acceptable */ |
AnnaBridge | 171:3a7713b1edbc | 86 | #define HCI_ERR_LINK_KEY 0x26 /*! Link key can not be changed */ |
AnnaBridge | 171:3a7713b1edbc | 87 | #define HCI_ERR_UNSUP_QOS 0x27 /*! Requested qos not supported */ |
AnnaBridge | 171:3a7713b1edbc | 88 | #define HCI_ERR_INSTANT_PASSED 0x28 /*! Instant passed */ |
AnnaBridge | 171:3a7713b1edbc | 89 | #define HCI_ERR_UNSUP_UNIT_KEY 0x29 /*! Pairing with unit key not supported */ |
AnnaBridge | 171:3a7713b1edbc | 90 | #define HCI_ERR_TRANSACT_COLLISION 0x2A /*! Different transaction collision */ |
AnnaBridge | 171:3a7713b1edbc | 91 | #define HCI_ERR_CHANNEL_CLASS 0x2E /*! Channel classification not supported */ |
AnnaBridge | 171:3a7713b1edbc | 92 | #define HCI_ERR_MEMORY 0x2F /*! Insufficient security */ |
AnnaBridge | 171:3a7713b1edbc | 93 | #define HCI_ERR_PARAMETER_RANGE 0x30 /*! Parameter out of mandatory range */ |
AnnaBridge | 171:3a7713b1edbc | 94 | #define HCI_ERR_ROLE_SWITCH_PEND 0x32 /*! Role switch pending */ |
AnnaBridge | 171:3a7713b1edbc | 95 | #define HCI_ERR_RESERVED_SLOT 0x34 /*! Reserved slot violation */ |
AnnaBridge | 171:3a7713b1edbc | 96 | #define HCI_ERR_ROLE_SWITCH 0x35 /*! Role switch failed */ |
AnnaBridge | 171:3a7713b1edbc | 97 | #define HCI_ERR_INQ_TOO_LARGE 0x36 /*! Extended inquiry response too large */ |
AnnaBridge | 171:3a7713b1edbc | 98 | #define HCI_ERR_UNSUP_SSP 0x37 /*! Secure simple pairing not supported by host */ |
AnnaBridge | 171:3a7713b1edbc | 99 | #define HCI_ERR_HOST_BUSY_PAIRING 0x38 /*! Host busy - pairing */ |
AnnaBridge | 171:3a7713b1edbc | 100 | #define HCI_ERR_NO_CHANNEL 0x39 /*! Connection rejected no suitable channel */ |
AnnaBridge | 171:3a7713b1edbc | 101 | #define HCI_ERR_CONTROLLER_BUSY 0x3A /*! Controller busy */ |
AnnaBridge | 171:3a7713b1edbc | 102 | #define HCI_ERR_CONN_INTERVAL 0x3B /*! Unacceptable connection interval */ |
AnnaBridge | 171:3a7713b1edbc | 103 | #define HCI_ERR_ADV_TIMEOUT 0x3C /*! Directed advertising timeout */ |
AnnaBridge | 171:3a7713b1edbc | 104 | #define HCI_ERR_MIC_FAILURE 0x3D /*! Connection terminated due to MIC failure */ |
AnnaBridge | 171:3a7713b1edbc | 105 | #define HCI_ERR_CONN_FAIL 0x3E /*! Connection failed to be established */ |
AnnaBridge | 171:3a7713b1edbc | 106 | #define HCI_ERR_MAC_CONN_FAIL 0x3F /*! MAC connection failed */ |
AnnaBridge | 171:3a7713b1edbc | 107 | |
AnnaBridge | 171:3a7713b1edbc | 108 | /*! Command groups */ |
AnnaBridge | 171:3a7713b1edbc | 109 | #define HCI_OGF_NOP 0x00 /*! No operation */ |
AnnaBridge | 171:3a7713b1edbc | 110 | #define HCI_OGF_LINK_CONTROL 0x01 /*! Link control */ |
AnnaBridge | 171:3a7713b1edbc | 111 | #define HCI_OGF_LINK_POLICY 0x02 /*! Link policy */ |
AnnaBridge | 171:3a7713b1edbc | 112 | #define HCI_OGF_CONTROLLER 0x03 /*! Controller and baseband */ |
AnnaBridge | 171:3a7713b1edbc | 113 | #define HCI_OGF_INFORMATIONAL 0x04 /*! Informational parameters */ |
AnnaBridge | 171:3a7713b1edbc | 114 | #define HCI_OGF_STATUS 0x05 /*! Status parameters */ |
AnnaBridge | 171:3a7713b1edbc | 115 | #define HCI_OGF_TESTING 0x06 /*! Testing */ |
AnnaBridge | 171:3a7713b1edbc | 116 | #define HCI_OGF_LE_CONTROLLER 0x08 /*! LE controller */ |
AnnaBridge | 171:3a7713b1edbc | 117 | #define HCI_OGF_VENDOR_SPEC 0x3F /*! Vendor specific */ |
AnnaBridge | 171:3a7713b1edbc | 118 | |
AnnaBridge | 171:3a7713b1edbc | 119 | /*! NOP command */ |
AnnaBridge | 171:3a7713b1edbc | 120 | #define HCI_OCF_NOP 0x00 |
AnnaBridge | 171:3a7713b1edbc | 121 | |
AnnaBridge | 171:3a7713b1edbc | 122 | /*! Link control commands */ |
AnnaBridge | 171:3a7713b1edbc | 123 | #define HCI_OCF_DISCONNECT 0x06 |
AnnaBridge | 171:3a7713b1edbc | 124 | #define HCI_OCF_READ_REMOTE_VER_INFO 0x1D |
AnnaBridge | 171:3a7713b1edbc | 125 | |
AnnaBridge | 171:3a7713b1edbc | 126 | /*! Link policy commands (none used for LE) */ |
AnnaBridge | 171:3a7713b1edbc | 127 | |
AnnaBridge | 171:3a7713b1edbc | 128 | /*! Controller and baseband commands */ |
AnnaBridge | 171:3a7713b1edbc | 129 | #define HCI_OCF_SET_EVENT_MASK 0x01 |
AnnaBridge | 171:3a7713b1edbc | 130 | #define HCI_OCF_RESET 0x03 |
AnnaBridge | 171:3a7713b1edbc | 131 | #define HCI_OCF_READ_TX_PWR_LVL 0x2D |
AnnaBridge | 171:3a7713b1edbc | 132 | #define HCI_OCF_SET_CONTROLLER_TO_HOST_FC 0x31 |
AnnaBridge | 171:3a7713b1edbc | 133 | #define HCI_OCF_HOST_BUFFER_SIZE 0x33 |
AnnaBridge | 171:3a7713b1edbc | 134 | #define HCI_OCF_HOST_NUM_CMPL_PKTS 0x35 |
AnnaBridge | 171:3a7713b1edbc | 135 | #define HCI_OCF_SET_EVENT_MASK_PAGE2 0x63 |
AnnaBridge | 171:3a7713b1edbc | 136 | #define HCI_OCF_READ_AUTH_PAYLOAD_TO 0x7B |
AnnaBridge | 171:3a7713b1edbc | 137 | #define HCI_OCF_WRITE_AUTH_PAYLOAD_TO 0x7C |
AnnaBridge | 171:3a7713b1edbc | 138 | |
AnnaBridge | 171:3a7713b1edbc | 139 | /*! Informational commands */ |
AnnaBridge | 171:3a7713b1edbc | 140 | #define HCI_OCF_READ_LOCAL_VER_INFO 0x01 |
AnnaBridge | 171:3a7713b1edbc | 141 | #define HCI_OCF_READ_LOCAL_SUP_CMDS 0x02 |
AnnaBridge | 171:3a7713b1edbc | 142 | #define HCI_OCF_READ_LOCAL_SUP_FEAT 0x03 |
AnnaBridge | 171:3a7713b1edbc | 143 | #define HCI_OCF_READ_BUF_SIZE 0x05 |
AnnaBridge | 171:3a7713b1edbc | 144 | #define HCI_OCF_READ_BD_ADDR 0x09 |
AnnaBridge | 171:3a7713b1edbc | 145 | |
AnnaBridge | 171:3a7713b1edbc | 146 | /*! Status commands */ |
AnnaBridge | 171:3a7713b1edbc | 147 | #define HCI_OCF_READ_RSSI 0x05 |
AnnaBridge | 171:3a7713b1edbc | 148 | |
AnnaBridge | 171:3a7713b1edbc | 149 | /*! LE controller commands */ |
AnnaBridge | 171:3a7713b1edbc | 150 | #define HCI_OCF_LE_SET_EVENT_MASK 0x01 |
AnnaBridge | 171:3a7713b1edbc | 151 | #define HCI_OCF_LE_READ_BUF_SIZE 0x02 |
AnnaBridge | 171:3a7713b1edbc | 152 | #define HCI_OCF_LE_READ_LOCAL_SUP_FEAT 0x03 |
AnnaBridge | 171:3a7713b1edbc | 153 | #define HCI_OCF_LE_SET_RAND_ADDR 0x05 |
AnnaBridge | 171:3a7713b1edbc | 154 | #define HCI_OCF_LE_SET_ADV_PARAM 0x06 |
AnnaBridge | 171:3a7713b1edbc | 155 | #define HCI_OCF_LE_READ_ADV_TX_POWER 0x07 |
AnnaBridge | 171:3a7713b1edbc | 156 | #define HCI_OCF_LE_SET_ADV_DATA 0x08 |
AnnaBridge | 171:3a7713b1edbc | 157 | #define HCI_OCF_LE_SET_SCAN_RESP_DATA 0x09 |
AnnaBridge | 171:3a7713b1edbc | 158 | #define HCI_OCF_LE_SET_ADV_ENABLE 0x0A |
AnnaBridge | 171:3a7713b1edbc | 159 | #define HCI_OCF_LE_SET_SCAN_PARAM 0x0B |
AnnaBridge | 171:3a7713b1edbc | 160 | #define HCI_OCF_LE_SET_SCAN_ENABLE 0x0C |
AnnaBridge | 171:3a7713b1edbc | 161 | #define HCI_OCF_LE_CREATE_CONN 0x0D |
AnnaBridge | 171:3a7713b1edbc | 162 | #define HCI_OCF_LE_CREATE_CONN_CANCEL 0x0E |
AnnaBridge | 171:3a7713b1edbc | 163 | #define HCI_OCF_LE_READ_WHITE_LIST_SIZE 0x0F |
AnnaBridge | 171:3a7713b1edbc | 164 | #define HCI_OCF_LE_CLEAR_WHITE_LIST 0x10 |
AnnaBridge | 171:3a7713b1edbc | 165 | #define HCI_OCF_LE_ADD_DEV_WHITE_LIST 0x11 |
AnnaBridge | 171:3a7713b1edbc | 166 | #define HCI_OCF_LE_REMOVE_DEV_WHITE_LIST 0x12 |
AnnaBridge | 171:3a7713b1edbc | 167 | #define HCI_OCF_LE_CONN_UPDATE 0x13 |
AnnaBridge | 171:3a7713b1edbc | 168 | #define HCI_OCF_LE_SET_HOST_CHAN_CLASS 0x14 |
AnnaBridge | 171:3a7713b1edbc | 169 | #define HCI_OCF_LE_READ_CHAN_MAP 0x15 |
AnnaBridge | 171:3a7713b1edbc | 170 | #define HCI_OCF_LE_READ_REMOTE_FEAT 0x16 |
AnnaBridge | 171:3a7713b1edbc | 171 | #define HCI_OCF_LE_ENCRYPT 0x17 |
AnnaBridge | 171:3a7713b1edbc | 172 | #define HCI_OCF_LE_RAND 0x18 |
AnnaBridge | 171:3a7713b1edbc | 173 | #define HCI_OCF_LE_START_ENCRYPTION 0x19 |
AnnaBridge | 171:3a7713b1edbc | 174 | #define HCI_OCF_LE_LTK_REQ_REPL 0x1A |
AnnaBridge | 171:3a7713b1edbc | 175 | #define HCI_OCF_LE_LTK_REQ_NEG_REPL 0x1B |
AnnaBridge | 171:3a7713b1edbc | 176 | #define HCI_OCF_LE_READ_SUP_STATES 0x1C |
AnnaBridge | 171:3a7713b1edbc | 177 | #define HCI_OCF_LE_RECEIVER_TEST 0x1D |
AnnaBridge | 171:3a7713b1edbc | 178 | #define HCI_OCF_LE_TRANSMITTER_TEST 0x1E |
AnnaBridge | 171:3a7713b1edbc | 179 | #define HCI_OCF_LE_TEST_END 0x1F |
AnnaBridge | 171:3a7713b1edbc | 180 | /* New in version 4.1 */ |
AnnaBridge | 171:3a7713b1edbc | 181 | #define HCI_OCF_LE_REM_CONN_PARAM_REP 0x20 |
AnnaBridge | 171:3a7713b1edbc | 182 | #define HCI_OCF_LE_REM_CONN_PARAM_NEG_REP 0x21 |
AnnaBridge | 171:3a7713b1edbc | 183 | /* New in version 4.2 */ |
AnnaBridge | 171:3a7713b1edbc | 184 | #define HCI_OCF_LE_SET_DATA_LEN 0x22 |
AnnaBridge | 171:3a7713b1edbc | 185 | #define HCI_OCF_LE_READ_DEF_DATA_LEN 0x23 |
AnnaBridge | 171:3a7713b1edbc | 186 | #define HCI_OCF_LE_WRITE_DEF_DATA_LEN 0x24 |
AnnaBridge | 171:3a7713b1edbc | 187 | #define HCI_OCF_LE_READ_LOCAL_P256_PUB_KEY 0x25 |
AnnaBridge | 171:3a7713b1edbc | 188 | #define HCI_OCF_LE_GENERATE_DHKEY 0x26 |
AnnaBridge | 171:3a7713b1edbc | 189 | #define HCI_OCF_LE_ADD_DEV_RES_LIST 0x27 |
AnnaBridge | 171:3a7713b1edbc | 190 | #define HCI_OCF_LE_REMOVE_DEV_RES_LIST 0x28 |
AnnaBridge | 171:3a7713b1edbc | 191 | #define HCI_OCF_LE_CLEAR_RES_LIST 0x29 |
AnnaBridge | 171:3a7713b1edbc | 192 | #define HCI_OCF_LE_READ_RES_LIST_SIZE 0x2A |
AnnaBridge | 171:3a7713b1edbc | 193 | #define HCI_OCF_LE_READ_PEER_RES_ADDR 0x2B |
AnnaBridge | 171:3a7713b1edbc | 194 | #define HCI_OCF_LE_READ_LOCAL_RES_ADDR 0x2C |
AnnaBridge | 171:3a7713b1edbc | 195 | #define HCI_OCF_LE_SET_ADDR_RES_ENABLE 0x2D |
AnnaBridge | 171:3a7713b1edbc | 196 | #define HCI_OCF_LE_SET_RES_PRIV_ADDR_TO 0x2E |
AnnaBridge | 171:3a7713b1edbc | 197 | #define HCI_OCF_LE_READ_MAX_DATA_LEN 0x2F |
AnnaBridge | 171:3a7713b1edbc | 198 | |
AnnaBridge | 171:3a7713b1edbc | 199 | /*! Opcode manipulation macros */ |
AnnaBridge | 171:3a7713b1edbc | 200 | #define HCI_OPCODE(ogf, ocf) (((ogf) << 10) + (ocf)) |
AnnaBridge | 171:3a7713b1edbc | 201 | #define HCI_OGF(opcode) ((opcode) >> 10) |
AnnaBridge | 171:3a7713b1edbc | 202 | #define HCI_OCF(opcode) ((opcode) & 0x03FF) |
AnnaBridge | 171:3a7713b1edbc | 203 | |
AnnaBridge | 171:3a7713b1edbc | 204 | /*! Command opcodes */ |
AnnaBridge | 171:3a7713b1edbc | 205 | #define HCI_OPCODE_NOP HCI_OPCODE(HCI_OGF_NOP, HCI_OCF_NOP) |
AnnaBridge | 171:3a7713b1edbc | 206 | |
AnnaBridge | 171:3a7713b1edbc | 207 | #define HCI_OPCODE_DISCONNECT HCI_OPCODE(HCI_OGF_LINK_CONTROL, HCI_OCF_DISCONNECT) |
AnnaBridge | 171:3a7713b1edbc | 208 | #define HCI_OPCODE_READ_REMOTE_VER_INFO HCI_OPCODE(HCI_OGF_LINK_CONTROL, HCI_OCF_READ_REMOTE_VER_INFO) |
AnnaBridge | 171:3a7713b1edbc | 209 | |
AnnaBridge | 171:3a7713b1edbc | 210 | #define HCI_OPCODE_SET_EVENT_MASK HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_SET_EVENT_MASK) |
AnnaBridge | 171:3a7713b1edbc | 211 | #define HCI_OPCODE_RESET HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_RESET) |
AnnaBridge | 171:3a7713b1edbc | 212 | #define HCI_OPCODE_READ_TX_PWR_LVL HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_READ_TX_PWR_LVL) |
AnnaBridge | 171:3a7713b1edbc | 213 | #define HCI_OPCODE_SET_EVENT_MASK_PAGE2 HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_SET_EVENT_MASK_PAGE2) |
AnnaBridge | 171:3a7713b1edbc | 214 | #define HCI_OPCODE_READ_AUTH_PAYLOAD_TO HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_READ_AUTH_PAYLOAD_TO) |
AnnaBridge | 171:3a7713b1edbc | 215 | #define HCI_OPCODE_WRITE_AUTH_PAYLOAD_TO HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_WRITE_AUTH_PAYLOAD_TO) |
AnnaBridge | 171:3a7713b1edbc | 216 | |
AnnaBridge | 171:3a7713b1edbc | 217 | #define HCI_OPCODE_READ_LOCAL_VER_INFO HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_VER_INFO) |
AnnaBridge | 171:3a7713b1edbc | 218 | #define HCI_OPCODE_READ_LOCAL_SUP_CMDS HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_CMDS) |
AnnaBridge | 171:3a7713b1edbc | 219 | #define HCI_OPCODE_READ_LOCAL_SUP_FEAT HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_FEAT) |
AnnaBridge | 171:3a7713b1edbc | 220 | #define HCI_OPCODE_READ_BUF_SIZE HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_BUF_SIZE) |
AnnaBridge | 171:3a7713b1edbc | 221 | #define HCI_OPCODE_READ_BD_ADDR HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_BD_ADDR) |
AnnaBridge | 171:3a7713b1edbc | 222 | |
AnnaBridge | 171:3a7713b1edbc | 223 | #define HCI_OPCODE_READ_RSSI HCI_OPCODE(HCI_OGF_STATUS, HCI_OCF_READ_RSSI) |
AnnaBridge | 171:3a7713b1edbc | 224 | |
AnnaBridge | 171:3a7713b1edbc | 225 | #define HCI_OPCODE_LE_SET_EVENT_MASK HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EVENT_MASK) |
AnnaBridge | 171:3a7713b1edbc | 226 | #define HCI_OPCODE_LE_READ_BUF_SIZE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_BUF_SIZE) |
AnnaBridge | 171:3a7713b1edbc | 227 | #define HCI_OPCODE_LE_READ_LOCAL_SUP_FEAT HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_SUP_FEAT) |
AnnaBridge | 171:3a7713b1edbc | 228 | #define HCI_OPCODE_LE_SET_RAND_ADDR HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_RAND_ADDR) |
AnnaBridge | 171:3a7713b1edbc | 229 | #define HCI_OPCODE_LE_SET_ADV_PARAM HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_PARAM) |
AnnaBridge | 171:3a7713b1edbc | 230 | #define HCI_OPCODE_LE_READ_ADV_TX_POWER HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_ADV_TX_POWER) |
AnnaBridge | 171:3a7713b1edbc | 231 | #define HCI_OPCODE_LE_SET_ADV_DATA HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_DATA) |
AnnaBridge | 171:3a7713b1edbc | 232 | #define HCI_OPCODE_LE_SET_SCAN_RESP_DATA HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_RESP_DATA) |
AnnaBridge | 171:3a7713b1edbc | 233 | #define HCI_OPCODE_LE_SET_ADV_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_ENABLE) |
AnnaBridge | 171:3a7713b1edbc | 234 | #define HCI_OPCODE_LE_SET_SCAN_PARAM HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_PARAM) |
AnnaBridge | 171:3a7713b1edbc | 235 | #define HCI_OPCODE_LE_SET_SCAN_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_ENABLE) |
AnnaBridge | 171:3a7713b1edbc | 236 | #define HCI_OPCODE_LE_CREATE_CONN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_CONN) |
AnnaBridge | 171:3a7713b1edbc | 237 | #define HCI_OPCODE_LE_CREATE_CONN_CANCEL HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_CONN_CANCEL) |
AnnaBridge | 171:3a7713b1edbc | 238 | #define HCI_OPCODE_LE_READ_WHITE_LIST_SIZE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_WHITE_LIST_SIZE) |
AnnaBridge | 171:3a7713b1edbc | 239 | #define HCI_OPCODE_LE_CLEAR_WHITE_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_WHITE_LIST) |
AnnaBridge | 171:3a7713b1edbc | 240 | #define HCI_OPCODE_LE_ADD_DEV_WHITE_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ADD_DEV_WHITE_LIST) |
AnnaBridge | 171:3a7713b1edbc | 241 | #define HCI_OPCODE_LE_REMOVE_DEV_WHITE_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_DEV_WHITE_LIST) |
AnnaBridge | 171:3a7713b1edbc | 242 | #define HCI_OPCODE_LE_CONN_UPDATE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CONN_UPDATE) |
AnnaBridge | 171:3a7713b1edbc | 243 | #define HCI_OPCODE_LE_SET_HOST_CHAN_CLASS HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_HOST_CHAN_CLASS) |
AnnaBridge | 171:3a7713b1edbc | 244 | #define HCI_OPCODE_LE_READ_CHAN_MAP HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_CHAN_MAP) |
AnnaBridge | 171:3a7713b1edbc | 245 | #define HCI_OPCODE_LE_READ_REMOTE_FEAT HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_REMOTE_FEAT) |
AnnaBridge | 171:3a7713b1edbc | 246 | #define HCI_OPCODE_LE_ENCRYPT HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ENCRYPT) |
AnnaBridge | 171:3a7713b1edbc | 247 | #define HCI_OPCODE_LE_RAND HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_RAND) |
AnnaBridge | 171:3a7713b1edbc | 248 | #define HCI_OPCODE_LE_START_ENCRYPTION HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_START_ENCRYPTION) |
AnnaBridge | 171:3a7713b1edbc | 249 | #define HCI_OPCODE_LE_LTK_REQ_REPL HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_LTK_REQ_REPL) |
AnnaBridge | 171:3a7713b1edbc | 250 | #define HCI_OPCODE_LE_LTK_REQ_NEG_REPL HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_LTK_REQ_NEG_REPL) |
AnnaBridge | 171:3a7713b1edbc | 251 | #define HCI_OPCODE_LE_READ_SUP_STATES HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_SUP_STATES) |
AnnaBridge | 171:3a7713b1edbc | 252 | #define HCI_OPCODE_LE_RECEIVER_TEST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_RECEIVER_TEST) |
AnnaBridge | 171:3a7713b1edbc | 253 | #define HCI_OPCODE_LE_TRANSMITTER_TEST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_TRANSMITTER_TEST) |
AnnaBridge | 171:3a7713b1edbc | 254 | #define HCI_OPCODE_LE_TEST_END HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_TEST_END) |
AnnaBridge | 171:3a7713b1edbc | 255 | #define HCI_OPCODE_LE_REM_CONN_PARAM_REP HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REM_CONN_PARAM_REP) |
AnnaBridge | 171:3a7713b1edbc | 256 | #define HCI_OPCODE_LE_REM_CONN_PARAM_NEG_REP HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REM_CONN_PARAM_NEG_REP) |
AnnaBridge | 171:3a7713b1edbc | 257 | #define HCI_OPCODE_LE_SET_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_DATA_LEN) |
AnnaBridge | 171:3a7713b1edbc | 258 | #define HCI_OPCODE_LE_READ_DEF_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_DEF_DATA_LEN) |
AnnaBridge | 171:3a7713b1edbc | 259 | #define HCI_OPCODE_LE_WRITE_DEF_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_WRITE_DEF_DATA_LEN) |
AnnaBridge | 171:3a7713b1edbc | 260 | #define HCI_OPCODE_LE_READ_LOCAL_P256_PUB_KEY HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_P256_PUB_KEY) |
AnnaBridge | 171:3a7713b1edbc | 261 | #define HCI_OPCODE_LE_GENERATE_DHKEY HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_GENERATE_DHKEY) |
AnnaBridge | 171:3a7713b1edbc | 262 | #define HCI_OPCODE_LE_ADD_DEV_RES_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ADD_DEV_RES_LIST) |
AnnaBridge | 171:3a7713b1edbc | 263 | #define HCI_OPCODE_LE_REMOVE_DEV_RES_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_DEV_RES_LIST) |
AnnaBridge | 171:3a7713b1edbc | 264 | #define HCI_OPCODE_LE_CLEAR_RES_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_RES_LIST) |
AnnaBridge | 171:3a7713b1edbc | 265 | #define HCI_OPCODE_LE_READ_RES_LIST_SIZE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_RES_LIST_SIZE) |
AnnaBridge | 171:3a7713b1edbc | 266 | #define HCI_OPCODE_LE_READ_PEER_RES_ADDR HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_PEER_RES_ADDR) |
AnnaBridge | 171:3a7713b1edbc | 267 | #define HCI_OPCODE_LE_READ_LOCAL_RES_ADDR HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_RES_ADDR) |
AnnaBridge | 171:3a7713b1edbc | 268 | #define HCI_OPCODE_LE_SET_ADDR_RES_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADDR_RES_ENABLE) |
AnnaBridge | 171:3a7713b1edbc | 269 | #define HCI_OPCODE_LE_SET_RES_PRIV_ADDR_TO HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_RES_PRIV_ADDR_TO) |
AnnaBridge | 171:3a7713b1edbc | 270 | #define HCI_OPCODE_LE_READ_MAX_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_MAX_DATA_LEN) |
AnnaBridge | 171:3a7713b1edbc | 271 | |
AnnaBridge | 171:3a7713b1edbc | 272 | |
AnnaBridge | 171:3a7713b1edbc | 273 | |
AnnaBridge | 171:3a7713b1edbc | 274 | /*! Command parameter lengths */ |
AnnaBridge | 171:3a7713b1edbc | 275 | #define HCI_LEN_NOP 0 |
AnnaBridge | 171:3a7713b1edbc | 276 | |
AnnaBridge | 171:3a7713b1edbc | 277 | #define HCI_LEN_DISCONNECT 3 |
AnnaBridge | 171:3a7713b1edbc | 278 | #define HCI_LEN_READ_REMOTE_VER_INFO 2 |
AnnaBridge | 171:3a7713b1edbc | 279 | |
AnnaBridge | 171:3a7713b1edbc | 280 | #define HCI_LEN_SET_EVENT_MASK 8 |
AnnaBridge | 171:3a7713b1edbc | 281 | #define HCI_LEN_SET_EVENT_MASK_PAGE2 8 |
AnnaBridge | 171:3a7713b1edbc | 282 | #define HCI_LEN_RESET 0 |
AnnaBridge | 171:3a7713b1edbc | 283 | #define HCI_LEN_READ_TX_PWR_LVL 3 |
AnnaBridge | 171:3a7713b1edbc | 284 | #define HCI_LEN_SET_CONTROLLER_TO_HOST_FC 1 |
AnnaBridge | 171:3a7713b1edbc | 285 | #define HCI_LEN_HOST_BUFFER_SIZE 8 |
AnnaBridge | 171:3a7713b1edbc | 286 | #define HCI_LEN_HOST_NUM_CMPL_PKTS 1 |
AnnaBridge | 171:3a7713b1edbc | 287 | |
AnnaBridge | 171:3a7713b1edbc | 288 | #define HCI_LEN_READ_LOCAL_VER_INFO 0 |
AnnaBridge | 171:3a7713b1edbc | 289 | #define HCI_LEN_READ_LOCAL_SUP_CMDS 0 |
AnnaBridge | 171:3a7713b1edbc | 290 | #define HCI_LEN_READ_LOCAL_SUP_FEAT 0 |
AnnaBridge | 171:3a7713b1edbc | 291 | #define HCI_LEN_READ_BUF_SIZE 0 |
AnnaBridge | 171:3a7713b1edbc | 292 | #define HCI_LEN_READ_BD_ADDR 0 |
AnnaBridge | 171:3a7713b1edbc | 293 | |
AnnaBridge | 171:3a7713b1edbc | 294 | #define HCI_LEN_READ_RSSI 2 |
AnnaBridge | 171:3a7713b1edbc | 295 | #define HCI_LEN_READ_AUTH_PAYLOAD_TO 2 |
AnnaBridge | 171:3a7713b1edbc | 296 | #define HCI_LEN_WRITE_AUTH_PAYLOAD_TO 4 |
AnnaBridge | 171:3a7713b1edbc | 297 | |
AnnaBridge | 171:3a7713b1edbc | 298 | #define HCI_LEN_LE_SET_EVENT_MASK 8 |
AnnaBridge | 171:3a7713b1edbc | 299 | #define HCI_LEN_LE_READ_BUF_SIZE 0 |
AnnaBridge | 171:3a7713b1edbc | 300 | #define HCI_LEN_LE_READ_LOCAL_SUP_FEAT 0 |
AnnaBridge | 171:3a7713b1edbc | 301 | #define HCI_LEN_LE_SET_RAND_ADDR 6 |
AnnaBridge | 171:3a7713b1edbc | 302 | #define HCI_LEN_LE_SET_ADV_PARAM 15 |
AnnaBridge | 171:3a7713b1edbc | 303 | #define HCI_LEN_LE_READ_ADV_TX_POWER 0 |
AnnaBridge | 171:3a7713b1edbc | 304 | #define HCI_LEN_LE_SET_ADV_DATA 32 |
AnnaBridge | 171:3a7713b1edbc | 305 | #define HCI_LEN_LE_SET_SCAN_RESP_DATA 32 |
AnnaBridge | 171:3a7713b1edbc | 306 | #define HCI_LEN_LE_SET_ADV_ENABLE 1 |
AnnaBridge | 171:3a7713b1edbc | 307 | #define HCI_LEN_LE_SET_SCAN_PARAM 7 |
AnnaBridge | 171:3a7713b1edbc | 308 | #define HCI_LEN_LE_SET_SCAN_ENABLE 2 |
AnnaBridge | 171:3a7713b1edbc | 309 | #define HCI_LEN_LE_CREATE_CONN 25 |
AnnaBridge | 171:3a7713b1edbc | 310 | #define HCI_LEN_LE_CREATE_CONN_CANCEL 0 |
AnnaBridge | 171:3a7713b1edbc | 311 | #define HCI_LEN_LE_READ_WHITE_LIST_SIZE 0 |
AnnaBridge | 171:3a7713b1edbc | 312 | #define HCI_LEN_LE_CLEAR_WHITE_LIST 0 |
AnnaBridge | 171:3a7713b1edbc | 313 | #define HCI_LEN_LE_ADD_DEV_WHITE_LIST 7 |
AnnaBridge | 171:3a7713b1edbc | 314 | #define HCI_LEN_LE_REMOVE_DEV_WHITE_LIST 7 |
AnnaBridge | 171:3a7713b1edbc | 315 | #define HCI_LEN_LE_CONN_UPDATE 14 |
AnnaBridge | 171:3a7713b1edbc | 316 | #define HCI_LEN_LE_SET_HOST_CHAN_CLASS 5 |
AnnaBridge | 171:3a7713b1edbc | 317 | #define HCI_LEN_LE_READ_CHAN_MAP 2 |
AnnaBridge | 171:3a7713b1edbc | 318 | #define HCI_LEN_LE_READ_REMOTE_FEAT 2 |
AnnaBridge | 171:3a7713b1edbc | 319 | #define HCI_LEN_LE_ENCRYPT 32 |
AnnaBridge | 171:3a7713b1edbc | 320 | #define HCI_LEN_LE_RAND 0 |
AnnaBridge | 171:3a7713b1edbc | 321 | #define HCI_LEN_LE_START_ENCRYPTION 28 |
AnnaBridge | 171:3a7713b1edbc | 322 | #define HCI_LEN_LE_LTK_REQ_REPL 18 |
AnnaBridge | 171:3a7713b1edbc | 323 | #define HCI_LEN_LE_LTK_REQ_NEG_REPL 2 |
AnnaBridge | 171:3a7713b1edbc | 324 | #define HCI_LEN_LE_READ_SUP_STATES 0 |
AnnaBridge | 171:3a7713b1edbc | 325 | #define HCI_LEN_LE_RECEIVER_TEST 1 |
AnnaBridge | 171:3a7713b1edbc | 326 | #define HCI_LEN_LE_TRANSMITTER_TEST 3 |
AnnaBridge | 171:3a7713b1edbc | 327 | #define HCI_LEN_LE_TEST_END 0 |
AnnaBridge | 171:3a7713b1edbc | 328 | #define HCI_LEN_LE_READ_LOCAL_P256_PUB_KEY 0 |
AnnaBridge | 171:3a7713b1edbc | 329 | #define HCI_LEN_LE_GENERATE_MAX_DATA 64 |
AnnaBridge | 171:3a7713b1edbc | 330 | #define HCI_LEN_LE_ADD_DEV_RES_LIST 39 |
AnnaBridge | 171:3a7713b1edbc | 331 | #define HCI_LEN_LE_REMOVE_DEV_RES_LIST 7 |
AnnaBridge | 171:3a7713b1edbc | 332 | #define HCI_LEN_LE_CLEAR_RES_LIST 0 |
AnnaBridge | 171:3a7713b1edbc | 333 | #define HCI_LEN_LE_READ_RES_LIST_SIZE 0 |
AnnaBridge | 171:3a7713b1edbc | 334 | #define HCI_LEN_LE_READ_PEER_RES_ADDR 7 |
AnnaBridge | 171:3a7713b1edbc | 335 | #define HCI_LEN_LE_READ_LOCAL_RES_ADDR 7 |
AnnaBridge | 171:3a7713b1edbc | 336 | #define HCI_LEN_LE_SET_ADDR_RES_ENABLE 1 |
AnnaBridge | 171:3a7713b1edbc | 337 | #define HCI_LEN_LE_SET_RES_PRIV_ADDR_TO 2 |
AnnaBridge | 171:3a7713b1edbc | 338 | #define HCI_LEN_LE_REM_CONN_PARAM_REP 14 |
AnnaBridge | 171:3a7713b1edbc | 339 | #define HCI_LEN_LE_REM_CONN_PARAM_NEG_REP 3 |
AnnaBridge | 171:3a7713b1edbc | 340 | #define HCI_LEN_LE_SET_DATA_LEN 6 |
AnnaBridge | 171:3a7713b1edbc | 341 | #define HCI_LEN_LE_READ_DEF_DATA_LEN 0 |
AnnaBridge | 171:3a7713b1edbc | 342 | #define HCI_LEN_LE_WRITE_DEF_DATA_LEN 4 |
AnnaBridge | 171:3a7713b1edbc | 343 | #define HCI_LEN_LE_READ_LOCAL_P256_PUB_KEY 0 |
AnnaBridge | 171:3a7713b1edbc | 344 | #define HCI_LEN_LE_GENERATE_DHKEY 64 |
AnnaBridge | 171:3a7713b1edbc | 345 | #define HCI_LEN_LE_READ_MAX_DATA_LEN 0 |
AnnaBridge | 171:3a7713b1edbc | 346 | |
AnnaBridge | 171:3a7713b1edbc | 347 | /*! Events */ |
AnnaBridge | 171:3a7713b1edbc | 348 | #define HCI_DISCONNECT_CMPL_EVT 0x05 |
AnnaBridge | 171:3a7713b1edbc | 349 | #define HCI_ENC_CHANGE_EVT 0x08 |
AnnaBridge | 171:3a7713b1edbc | 350 | #define HCI_READ_REMOTE_VER_INFO_CMPL_EVT 0x0C |
AnnaBridge | 171:3a7713b1edbc | 351 | #define HCI_CMD_CMPL_EVT 0x0E |
AnnaBridge | 171:3a7713b1edbc | 352 | #define HCI_CMD_STATUS_EVT 0x0F |
AnnaBridge | 171:3a7713b1edbc | 353 | #define HCI_HW_ERROR_EVT 0x10 |
AnnaBridge | 171:3a7713b1edbc | 354 | #define HCI_NUM_CMPL_PKTS_EVT 0x13 |
AnnaBridge | 171:3a7713b1edbc | 355 | #define HCI_DATA_BUF_OVERFLOW_EVT 0x1A |
AnnaBridge | 171:3a7713b1edbc | 356 | #define HCI_ENC_KEY_REFRESH_CMPL_EVT 0x30 |
AnnaBridge | 171:3a7713b1edbc | 357 | #define HCI_LE_META_EVT 0x3E |
AnnaBridge | 171:3a7713b1edbc | 358 | #define HCI_AUTH_PAYLOAD_TIMEOUT_EVT 0x57 |
AnnaBridge | 171:3a7713b1edbc | 359 | #define HCI_VENDOR_SPEC_EVT 0xFF |
AnnaBridge | 171:3a7713b1edbc | 360 | |
AnnaBridge | 171:3a7713b1edbc | 361 | /*! LE Subevents */ |
AnnaBridge | 171:3a7713b1edbc | 362 | #define HCI_LE_CONN_CMPL_EVT 0x01 |
AnnaBridge | 171:3a7713b1edbc | 363 | #define HCI_LE_ADV_REPORT_EVT 0x02 |
AnnaBridge | 171:3a7713b1edbc | 364 | #define HCI_LE_CONN_UPDATE_CMPL_EVT 0x03 |
AnnaBridge | 171:3a7713b1edbc | 365 | #define HCI_LE_READ_REMOTE_FEAT_CMPL_EVT 0x04 |
AnnaBridge | 171:3a7713b1edbc | 366 | #define HCI_LE_LTK_REQ_EVT 0x05 |
AnnaBridge | 171:3a7713b1edbc | 367 | /* New in version 4.1 */ |
AnnaBridge | 171:3a7713b1edbc | 368 | #define HCI_LE_REM_CONN_PARAM_REQ_EVT 0x06 |
AnnaBridge | 171:3a7713b1edbc | 369 | /* New in version 4.2 */ |
AnnaBridge | 171:3a7713b1edbc | 370 | #define HCI_LE_DATA_LEN_CHANGE_EVT 0x07 |
AnnaBridge | 171:3a7713b1edbc | 371 | #define HCI_LE_READ_LOCAL_P256_PUB_KEY_CMPL_EVT 0x08 |
AnnaBridge | 171:3a7713b1edbc | 372 | #define HCI_LE_GENERATE_DHKEY_CMPL_EVT 0x09 |
AnnaBridge | 171:3a7713b1edbc | 373 | #define HCI_LE_ENHANCED_CONN_CMPL_EVT 0x0A |
AnnaBridge | 171:3a7713b1edbc | 374 | #define HCI_LE_DIRECT_ADV_REPORT_EVT 0x0B |
AnnaBridge | 171:3a7713b1edbc | 375 | |
AnnaBridge | 171:3a7713b1edbc | 376 | /*! Event parameter lengths */ |
AnnaBridge | 171:3a7713b1edbc | 377 | #define HCI_LEN_DISCONNECT_CMPL 4 |
AnnaBridge | 171:3a7713b1edbc | 378 | #define HCI_LEN_CMD_CMPL 3 |
AnnaBridge | 171:3a7713b1edbc | 379 | #define HCI_LEN_CMD_STATUS 4 |
AnnaBridge | 171:3a7713b1edbc | 380 | #define HCI_LEN_HW_ERR 1 |
AnnaBridge | 171:3a7713b1edbc | 381 | #define HCI_LEN_ENC_CHANGE 4 |
AnnaBridge | 171:3a7713b1edbc | 382 | #define HCI_LEN_LE_CONN_CMPL 19 |
AnnaBridge | 171:3a7713b1edbc | 383 | #define HCI_LEN_LE_CONN_UPDATE_CMPL 9 |
AnnaBridge | 171:3a7713b1edbc | 384 | #define HCI_LEN_LE_READ_REMOTE_FEAT_CMPL 12 |
AnnaBridge | 171:3a7713b1edbc | 385 | #define HCI_LEN_LE_LTK_REQ 13 |
AnnaBridge | 171:3a7713b1edbc | 386 | |
AnnaBridge | 171:3a7713b1edbc | 387 | /*! Supported commands */ |
AnnaBridge | 171:3a7713b1edbc | 388 | #define HCI_SUP_DISCONNECT 0x20 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 389 | #define HCI_SUP_READ_REMOTE_VER_INFO 0x80 /*! Byte 2 */ |
AnnaBridge | 171:3a7713b1edbc | 390 | #define HCI_SUP_SET_EVENT_MASK 0x40 /*! Byte 5 */ |
AnnaBridge | 171:3a7713b1edbc | 391 | #define HCI_SUP_RESET 0x80 /*! Byte 5 */ |
AnnaBridge | 171:3a7713b1edbc | 392 | #define HCI_SUP_READ_TX_PWR_LVL 0x04 /*! Byte 10 */ |
AnnaBridge | 171:3a7713b1edbc | 393 | #define HCI_SUP_READ_LOCAL_VER_INFO 0x08 /*! Byte 14 */ |
AnnaBridge | 171:3a7713b1edbc | 394 | #define HCI_SUP_READ_LOCAL_SUP_FEAT 0x20 /*! Byte 14 */ |
AnnaBridge | 171:3a7713b1edbc | 395 | #define HCI_SUP_READ_BD_ADDR 0x02 /*! Byte 15 */ |
AnnaBridge | 171:3a7713b1edbc | 396 | #define HCI_SUP_READ_RSSI 0x20 /*! Byte 15 */ |
AnnaBridge | 171:3a7713b1edbc | 397 | #define HCI_SUP_SET_EVENT_MASK_PAGE2 0x04 /*! Byte 22 */ |
AnnaBridge | 171:3a7713b1edbc | 398 | #define HCI_SUP_LE_SET_EVENT_MASK 0x01 /*! Byte 25 */ |
AnnaBridge | 171:3a7713b1edbc | 399 | #define HCI_SUP_LE_READ_BUF_SIZE 0x02 /*! Byte 25 */ |
AnnaBridge | 171:3a7713b1edbc | 400 | #define HCI_SUP_LE_READ_LOCAL_SUP_FEAT 0x04 /*! Byte 25 */ |
AnnaBridge | 171:3a7713b1edbc | 401 | #define HCI_SUP_LE_SET_RAND_ADDR 0x10 /*! Byte 25 */ |
AnnaBridge | 171:3a7713b1edbc | 402 | #define HCI_SUP_LE_SET_ADV_PARAM 0x20 /*! Byte 25 */ |
AnnaBridge | 171:3a7713b1edbc | 403 | #define HCI_SUP_LE_READ_ADV_TX_POWER 0x40 /*! Byte 25 */ |
AnnaBridge | 171:3a7713b1edbc | 404 | #define HCI_SUP_LE_SET_ADV_DATA 0x80 /*! Byte 25 */ |
AnnaBridge | 171:3a7713b1edbc | 405 | #define HCI_SUP_LE_SET_SCAN_RESP_DATA 0x01 /*! Byte 26 */ |
AnnaBridge | 171:3a7713b1edbc | 406 | #define HCI_SUP_LE_SET_ADV_ENABLE 0x02 /*! Byte 26 */ |
AnnaBridge | 171:3a7713b1edbc | 407 | #define HCI_SUP_LE_SET_SCAN_PARAM 0x04 /*! Byte 26 */ |
AnnaBridge | 171:3a7713b1edbc | 408 | #define HCI_SUP_LE_SET_SCAN_ENABLE 0x08 /*! Byte 26 */ |
AnnaBridge | 171:3a7713b1edbc | 409 | #define HCI_SUP_LE_CREATE_CONN 0x10 /*! Byte 26 */ |
AnnaBridge | 171:3a7713b1edbc | 410 | #define HCI_SUP_LE_CREATE_CONN_CANCEL 0x20 /*! Byte 26 */ |
AnnaBridge | 171:3a7713b1edbc | 411 | #define HCI_SUP_LE_READ_WHITE_LIST_SIZE 0x40 /*! Byte 26 */ |
AnnaBridge | 171:3a7713b1edbc | 412 | #define HCI_SUP_LE_CLEAR_WHITE_LIST 0x80 /*! Byte 26 */ |
AnnaBridge | 171:3a7713b1edbc | 413 | #define HCI_SUP_LE_ADD_DEV_WHITE_LIST 0x01 /*! Byte 27 */ |
AnnaBridge | 171:3a7713b1edbc | 414 | #define HCI_SUP_LE_REMOVE_DEV_WHITE_LIST 0x02 /*! Byte 27 */ |
AnnaBridge | 171:3a7713b1edbc | 415 | #define HCI_SUP_LE_CONN_UPDATE 0x04 /*! Byte 27 */ |
AnnaBridge | 171:3a7713b1edbc | 416 | #define HCI_SUP_LE_SET_HOST_CHAN_CLASS 0x08 /*! Byte 27 */ |
AnnaBridge | 171:3a7713b1edbc | 417 | #define HCI_SUP_LE_READ_CHAN_MAP 0x10 /*! Byte 27 */ |
AnnaBridge | 171:3a7713b1edbc | 418 | #define HCI_SUP_LE_READ_REMOTE_FEAT 0x20 /*! Byte 27 */ |
AnnaBridge | 171:3a7713b1edbc | 419 | #define HCI_SUP_LE_ENCRYPT 0x40 /*! Byte 27 */ |
AnnaBridge | 171:3a7713b1edbc | 420 | #define HCI_SUP_LE_RAND 0x80 /*! Byte 27 */ |
AnnaBridge | 171:3a7713b1edbc | 421 | #define HCI_SUP_LE_START_ENCRYPTION 0x01 /*! Byte 28 */ |
AnnaBridge | 171:3a7713b1edbc | 422 | #define HCI_SUP_LE_LTK_REQ_REPL 0x02 /*! Byte 28 */ |
AnnaBridge | 171:3a7713b1edbc | 423 | #define HCI_SUP_LE_LTK_REQ_NEG_REPL 0x04 /*! Byte 28 */ |
AnnaBridge | 171:3a7713b1edbc | 424 | #define HCI_SUP_LE_READ_SUP_STATES 0x08 /*! Byte 28 */ |
AnnaBridge | 171:3a7713b1edbc | 425 | #define HCI_SUP_LE_RECEIVER_TEST 0x10 /*! Byte 28 */ |
AnnaBridge | 171:3a7713b1edbc | 426 | #define HCI_SUP_LE_TRANSMITTER_TEST 0x20 /*! Byte 28 */ |
AnnaBridge | 171:3a7713b1edbc | 427 | #define HCI_SUP_LE_TEST_END 0x40 /*! Byte 28 */ |
AnnaBridge | 171:3a7713b1edbc | 428 | #define HCI_SUP_READ_AUTH_PAYLOAD_TO 0x10 /*! Byte 32 */ |
AnnaBridge | 171:3a7713b1edbc | 429 | #define HCI_SUP_WRITE_AUTH_PAYLOAD_TO 0x20 /*! Byte 32 */ |
AnnaBridge | 171:3a7713b1edbc | 430 | #define HCI_SUP_LE_REM_CONN_PARAM_REQ_REPL 0x10 /*! Byte 33 */ |
AnnaBridge | 171:3a7713b1edbc | 431 | #define HCI_SUP_LE_REM_CONN_PARAM_REQ_NEG_REPL 0x20 /*! Byte 33 */ |
AnnaBridge | 171:3a7713b1edbc | 432 | #define HCI_SUP_LE_SET_DATA_LEN 0x40 /*! Byte 33 */ |
AnnaBridge | 171:3a7713b1edbc | 433 | #define HCI_SUP_LE_READ_DEF_DATA_LEN 0x80 /*! Byte 33 */ |
AnnaBridge | 171:3a7713b1edbc | 434 | #define HCI_SUP_LE_WRITE_DEF_DATA_LEN 0x01 /*! Byte 34 */ |
AnnaBridge | 171:3a7713b1edbc | 435 | #define HCI_SUP_LE_READ_LOCAL_P256_PUB_KEY 0x02 /*! Byte 34 */ |
AnnaBridge | 171:3a7713b1edbc | 436 | #define HCI_SUP_LE_GENERATE_DHKEY 0x04 /*! Byte 34 */ |
AnnaBridge | 171:3a7713b1edbc | 437 | #define HCI_SUP_LE_ADD_DEV_RES_LIST_EVT 0x08 /*! Byte 34 */ |
AnnaBridge | 171:3a7713b1edbc | 438 | #define HCI_SUP_LE_REMOVE_DEV_RES_LIST 0x10 /*! Byte 34 */ |
AnnaBridge | 171:3a7713b1edbc | 439 | #define HCI_SUP_LE_CLEAR_RES_LIST 0x20 /*! Byte 34 */ |
AnnaBridge | 171:3a7713b1edbc | 440 | #define HCI_SUP_LE_READ_RES_LIST_SIZE 0x40 /*! Byte 34 */ |
AnnaBridge | 171:3a7713b1edbc | 441 | #define HCI_SUP_LE_READ_PEER_RES_ADDR 0x80 /*! Byte 34 */ |
AnnaBridge | 171:3a7713b1edbc | 442 | #define HCI_SUP_LE_READ_LOCAL_RES_ADDR 0x01 /*! Byte 35 */ |
AnnaBridge | 171:3a7713b1edbc | 443 | #define HCI_SUP_LE_SET_ADDR_RES_ENABLE 0x02 /*! Byte 35 */ |
AnnaBridge | 171:3a7713b1edbc | 444 | #define HCI_SUP_LE_SET_RES_PRIV_ADDR_TO 0x04 /*! Byte 35 */ |
AnnaBridge | 171:3a7713b1edbc | 445 | #define HCI_SUP_LE_READ_MAX_DATA_LEN 0x08 /*! Byte 35 */ |
AnnaBridge | 171:3a7713b1edbc | 446 | |
AnnaBridge | 171:3a7713b1edbc | 447 | /*! Event mask */ |
AnnaBridge | 171:3a7713b1edbc | 448 | #define HCI_EVT_MASK_DISCONNECT_CMPL 0x10 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 449 | #define HCI_EVT_MASK_ENC_CHANGE 0x80 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 450 | #define HCI_EVT_MASK_READ_REMOTE_VER_INFO_CMPL 0x08 /*! Byte 1 */ |
AnnaBridge | 171:3a7713b1edbc | 451 | #define HCI_EVT_MASK_HW_ERROR 0x80 /*! Byte 1 */ |
AnnaBridge | 171:3a7713b1edbc | 452 | #define HCI_EVT_MASK_DATA_BUF_OVERFLOW 0x02 /*! Byte 3 */ |
AnnaBridge | 171:3a7713b1edbc | 453 | #define HCI_EVT_MASK_ENC_KEY_REFRESH_CMPL 0x80 /*! Byte 5 */ |
AnnaBridge | 171:3a7713b1edbc | 454 | #define HCI_EVT_MASK_LE_META 0x20 /*! Byte 7 */ |
AnnaBridge | 171:3a7713b1edbc | 455 | |
AnnaBridge | 171:3a7713b1edbc | 456 | /*! Event mask page 2 */ |
AnnaBridge | 171:3a7713b1edbc | 457 | #define HCI_EVT_MASK_AUTH_PAYLOAD_TIMEOUT 0x80 /*! Byte 2 */ |
AnnaBridge | 171:3a7713b1edbc | 458 | |
AnnaBridge | 171:3a7713b1edbc | 459 | /*! LE event mask */ |
AnnaBridge | 171:3a7713b1edbc | 460 | #define HCI_EVT_MASK_LE_CONN_CMPL_EVT 0x01 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 461 | #define HCI_EVT_MASK_LE_ADV_REPORT_EVT 0x02 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 462 | #define HCI_EVT_MASK_LE_CONN_UPDATE_CMPL_EVT 0x04 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 463 | #define HCI_EVT_MASK_LE_READ_REMOTE_FEAT_CMPL_EVT 0x08 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 464 | #define HCI_EVT_MASK_LE_LTK_REQ_EVT 0x10 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 465 | #define HCI_EVT_MASK_LE_REMOTE_CONN_PARAM_REQ_EVT 0x20 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 466 | #define HCI_EVT_MASK_LE_DATA_LEN_CHANGE_EVT 0x40 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 467 | #define HCI_EVT_MASK_LE_READ_LOCAL_P256_PUB_KEY_CMPL 0x80 /*! Byte 0 */ |
AnnaBridge | 171:3a7713b1edbc | 468 | #define HCI_EVT_MASK_LE_GENERATE_DHKEY_CMPL 0x01 /*! Byte 1 */ |
AnnaBridge | 171:3a7713b1edbc | 469 | #define HCI_EVT_MASK_LE_ENHANCED_CONN_CMPL_EVT 0x02 /*! Byte 1 */ |
AnnaBridge | 171:3a7713b1edbc | 470 | #define HCI_EVT_MASK_LE_DIRECT_ADV_REPORT_EVT 0x04 /*! Byte 1 */ |
AnnaBridge | 171:3a7713b1edbc | 471 | |
AnnaBridge | 171:3a7713b1edbc | 472 | /*! LE supported features */ |
AnnaBridge | 171:3a7713b1edbc | 473 | #define HCI_LE_SUP_FEAT_ENCRYPTION 0x01 /*! Encryption supported */ |
AnnaBridge | 171:3a7713b1edbc | 474 | #define HCI_LE_SUP_FEAT_CONN_PARAM_REQ_PROC 0x02 /*! Connection Parameters Request Procedure supported */ |
AnnaBridge | 171:3a7713b1edbc | 475 | #define HCI_LE_SUP_FEAT_EXT_REJECT_IND 0x04 /*! Extended Reject Indication supported */ |
AnnaBridge | 171:3a7713b1edbc | 476 | #define HCI_LE_SUP_FEAT_SLV_INIT_FEAT_EXCH 0x08 /*! Slave-Initiated Features Exchange supported */ |
AnnaBridge | 171:3a7713b1edbc | 477 | #define HCI_LE_SUP_FEAT_LE_PING 0x10 /*! LE Ping supported */ |
AnnaBridge | 171:3a7713b1edbc | 478 | #define HCI_LE_SUP_FEAT_DATA_LEN_EXT 0x20 /*! Data Length Extension supported */ |
AnnaBridge | 171:3a7713b1edbc | 479 | #define HCI_LE_SUP_FEAT_PRIVACY 0x40 /*! LL Privacy supported */ |
AnnaBridge | 171:3a7713b1edbc | 480 | #define HCI_LE_SUP_FEAT_EXT_SCAN_FILT_POLICY 0x80 /*! Extended Scan Filter Policy supported */ |
AnnaBridge | 171:3a7713b1edbc | 481 | |
AnnaBridge | 171:3a7713b1edbc | 482 | /*! Advertising command parameters */ |
AnnaBridge | 171:3a7713b1edbc | 483 | #define HCI_ADV_MIN_INTERVAL 0x0020 /*! Minimum advertising interval */ |
AnnaBridge | 171:3a7713b1edbc | 484 | #define HCI_ADV_NONCONN_MIN_INTERVAL 0x00A0 /*! Minimum nonconnectable adv. interval */ |
AnnaBridge | 171:3a7713b1edbc | 485 | #define HCI_ADV_MAX_INTERVAL 0x4000 /*! Maximum advertising interval */ |
AnnaBridge | 171:3a7713b1edbc | 486 | #define HCI_ADV_TYPE_CONN_UNDIRECT 0x00 /*! Connectable undirected advertising */ |
AnnaBridge | 171:3a7713b1edbc | 487 | #define HCI_ADV_TYPE_CONN_DIRECT 0x01 /*! Connectable directed high duty cycle advertising */ |
AnnaBridge | 171:3a7713b1edbc | 488 | #define HCI_ADV_TYPE_DISC_UNDIRECT 0x02 /*! Discoverable undirected advertising */ |
AnnaBridge | 171:3a7713b1edbc | 489 | #define HCI_ADV_TYPE_NONCONN_UNDIRECT 0x03 /*! Nonconnectable undirected advertising */ |
AnnaBridge | 171:3a7713b1edbc | 490 | #define HCI_ADV_TYPE_CONN_DIRECT_LO_DUTY 0x04 /*! Connectable directed low duty cycle advertising */ |
AnnaBridge | 171:3a7713b1edbc | 491 | #define HCI_ADV_CHAN_37 0x01 /*! Advertising channel 37 */ |
AnnaBridge | 171:3a7713b1edbc | 492 | #define HCI_ADV_CHAN_38 0x02 /*! Advertising channel 38 */ |
AnnaBridge | 171:3a7713b1edbc | 493 | #define HCI_ADV_CHAN_39 0x04 /*! Advertising channel 39 */ |
AnnaBridge | 171:3a7713b1edbc | 494 | #define HCI_ADV_FILT_NONE 0x00 /*! No scan request or connection filtering */ |
AnnaBridge | 171:3a7713b1edbc | 495 | #define HCI_ADV_FILT_SCAN 0x01 /*! White list filters scan requests */ |
AnnaBridge | 171:3a7713b1edbc | 496 | #define HCI_ADV_FILT_CONN 0x02 /*! White list filters connections */ |
AnnaBridge | 171:3a7713b1edbc | 497 | #define HCI_ADV_FILT_ALL 0x03 /*! White list filters scan req. and conn. */ |
AnnaBridge | 171:3a7713b1edbc | 498 | |
AnnaBridge | 171:3a7713b1edbc | 499 | /*! Scan command parameters */ |
AnnaBridge | 171:3a7713b1edbc | 500 | #define HCI_SCAN_TYPE_PASSIVE 0 /*! Passive scan */ |
AnnaBridge | 171:3a7713b1edbc | 501 | #define HCI_SCAN_TYPE_ACTIVE 1 /*! Active scan */ |
AnnaBridge | 171:3a7713b1edbc | 502 | #define HCI_SCAN_INTERVAL_MIN 0x0004 /*! Minimum scan interval */ |
AnnaBridge | 171:3a7713b1edbc | 503 | #define HCI_SCAN_INTERVAL_MAX 0x4000 /*! Maximum scan interval */ |
AnnaBridge | 171:3a7713b1edbc | 504 | #define HCI_SCAN_INTERVAL_DEFAULT 0x0010 /*! Default scan interval */ |
AnnaBridge | 171:3a7713b1edbc | 505 | #define HCI_SCAN_WINDOW_MIN 0x0004 /*! Minimum scan window */ |
AnnaBridge | 171:3a7713b1edbc | 506 | #define HCI_SCAN_WINDOW_MAX 0x4000 /*! Maximum scan window */ |
AnnaBridge | 171:3a7713b1edbc | 507 | #define HCI_SCAN_WINDOW_DEFAULT 0x0010 /*! Default scan window */ |
AnnaBridge | 171:3a7713b1edbc | 508 | |
AnnaBridge | 171:3a7713b1edbc | 509 | /*! Connection command parameters */ |
AnnaBridge | 171:3a7713b1edbc | 510 | #define HCI_CONN_INTERVAL_MIN 0x0006 /*! Minimum connection interval */ |
AnnaBridge | 171:3a7713b1edbc | 511 | #define HCI_CONN_INTERVAL_MAX 0x0C80 /*! Maximum connection interval */ |
AnnaBridge | 171:3a7713b1edbc | 512 | #define HCI_CONN_LATENCY_MAX 0x01F3 /*! Maximum connection latency */ |
AnnaBridge | 171:3a7713b1edbc | 513 | #define HCI_SUP_TIMEOUT_MIN 0x000A /*! Minimum supervision timeout */ |
AnnaBridge | 171:3a7713b1edbc | 514 | #define HCI_SUP_TIMEOUT_MAX 0x0C80 /*! Maximum supervision timeout */ |
AnnaBridge | 171:3a7713b1edbc | 515 | |
AnnaBridge | 171:3a7713b1edbc | 516 | /*! Connection event parameters */ |
AnnaBridge | 171:3a7713b1edbc | 517 | #define HCI_ROLE_MASTER 0 /*! Role is master */ |
AnnaBridge | 171:3a7713b1edbc | 518 | #define HCI_ROLE_SLAVE 1 /*! Role is slave */ |
AnnaBridge | 171:3a7713b1edbc | 519 | #define HCI_CLOCK_500PPM 0x00 /*! 500 ppm clock accuracy */ |
AnnaBridge | 171:3a7713b1edbc | 520 | #define HCI_CLOCK_250PPM 0x01 /*! 250 ppm clock accuracy */ |
AnnaBridge | 171:3a7713b1edbc | 521 | #define HCI_CLOCK_150PPM 0x02 /*! 150 ppm clock accuracy */ |
AnnaBridge | 171:3a7713b1edbc | 522 | #define HCI_CLOCK_100PPM 0x03 /*! 100 ppm clock accuracy */ |
AnnaBridge | 171:3a7713b1edbc | 523 | #define HCI_CLOCK_75PPM 0x04 /*! 75 ppm clock accuracy */ |
AnnaBridge | 171:3a7713b1edbc | 524 | #define HCI_CLOCK_50PPM 0x05 /*! 50 ppm clock accuracy */ |
AnnaBridge | 171:3a7713b1edbc | 525 | #define HCI_CLOCK_30PPM 0x06 /*! 30 ppm clock accuracy */ |
AnnaBridge | 171:3a7713b1edbc | 526 | #define HCI_CLOCK_20PPM 0x07 /*! 20 ppm clock accuracy */ |
AnnaBridge | 171:3a7713b1edbc | 527 | |
AnnaBridge | 171:3a7713b1edbc | 528 | /*! Advertising report event parameters */ |
AnnaBridge | 171:3a7713b1edbc | 529 | #define HCI_ADV_CONN_UNDIRECT 0x00 /*! Connectable undirected advertising */ |
AnnaBridge | 171:3a7713b1edbc | 530 | #define HCI_ADV_CONN_DIRECT 0x01 /*! Connectable directed advertising */ |
AnnaBridge | 171:3a7713b1edbc | 531 | #define HCI_ADV_DISC_UNDIRECT 0x02 /*! Discoverable undirected advertising */ |
AnnaBridge | 171:3a7713b1edbc | 532 | #define HCI_ADV_NONCONN_UNDIRECT 0x03 /*! Non-connectable undirected advertising */ |
AnnaBridge | 171:3a7713b1edbc | 533 | #define HCI_ADV_SCAN_RESPONSE 0x04 /*! Scan response */ |
AnnaBridge | 171:3a7713b1edbc | 534 | |
AnnaBridge | 171:3a7713b1edbc | 535 | /*! Misc command parameters */ |
AnnaBridge | 171:3a7713b1edbc | 536 | #define HCI_READ_TX_PWR_CURRENT 0 /*! Read current tx power */ |
AnnaBridge | 171:3a7713b1edbc | 537 | #define HCI_READ_TX_PWR_MAX 1 /*! Read maximum tx power */ |
AnnaBridge | 171:3a7713b1edbc | 538 | #define HCI_TX_PWR_MIN -30 /*! Minimum tx power dBm */ |
AnnaBridge | 171:3a7713b1edbc | 539 | #define HCI_TX_PWR_MAX 20 /*! Maximum tx power dBm */ |
AnnaBridge | 171:3a7713b1edbc | 540 | #define HCI_VERSION 6 /*! HCI specification version */ |
AnnaBridge | 171:3a7713b1edbc | 541 | #define HCI_RSSI_MIN -127 /*! Minimum RSSI dBm */ |
AnnaBridge | 171:3a7713b1edbc | 542 | #define HCI_RSSI_MAX 20 /*! Maximum RSSI dBm */ |
AnnaBridge | 171:3a7713b1edbc | 543 | #define HCI_ADDR_TYPE_PUBLIC 0 /*! Public device address */ |
AnnaBridge | 171:3a7713b1edbc | 544 | #define HCI_ADDR_TYPE_RANDOM 1 /*! Random device address */ |
AnnaBridge | 171:3a7713b1edbc | 545 | #define HCI_ADDR_TYPE_PUBLIC_IDENTITY 2 /*! Public identity address. */ |
AnnaBridge | 171:3a7713b1edbc | 546 | #define HCI_ADDR_TYPE_RANDOM_IDENTITY 3 /*! Random identity address. */ |
AnnaBridge | 171:3a7713b1edbc | 547 | #define HCI_FILT_NONE 0 /*! Accept all advertising packets */ |
AnnaBridge | 171:3a7713b1edbc | 548 | #define HCI_FILT_WHITE_LIST 1 /*! Accept from While List only */ |
AnnaBridge | 171:3a7713b1edbc | 549 | #define HCI_FILT_RES_INIT 2 /*! Accept directed advertisements with RPAs */ |
AnnaBridge | 171:3a7713b1edbc | 550 | #define HCI_FILT_WHITE_LIST_RES_INIT 3 /*! Accept from White List or directed advertisements with RPAs */ |
AnnaBridge | 171:3a7713b1edbc | 551 | #define HCI_ROLE_MASTER 0 /*! Role is master */ |
AnnaBridge | 171:3a7713b1edbc | 552 | #define HCI_ROLE_SLAVE 1 /*! Role is slave */ |
AnnaBridge | 171:3a7713b1edbc | 553 | |
AnnaBridge | 171:3a7713b1edbc | 554 | /*! Parameter lengths */ |
AnnaBridge | 171:3a7713b1edbc | 555 | #define HCI_EVT_MASK_LEN 8 /*! Length of event mask byte array */ |
AnnaBridge | 171:3a7713b1edbc | 556 | #define HCI_EVT_MASK_PAGE_2_LEN 8 /*! Length of event mask page 2 byte array */ |
AnnaBridge | 171:3a7713b1edbc | 557 | #define HCI_LE_EVT_MASK_LEN 8 /*! Length of LE event mask byte array */ |
AnnaBridge | 171:3a7713b1edbc | 558 | #define HCI_FEAT_LEN 8 /*! Length of features byte array */ |
AnnaBridge | 171:3a7713b1edbc | 559 | #define HCI_ADV_DATA_LEN 31 /*! Length of advertising data */ |
AnnaBridge | 171:3a7713b1edbc | 560 | #define HCI_SCAN_DATA_LEN 31 /*! Length of scan response data */ |
AnnaBridge | 171:3a7713b1edbc | 561 | #define HCI_CHAN_MAP_LEN 5 /*! Length of channel map byte array */ |
AnnaBridge | 171:3a7713b1edbc | 562 | #define HCI_KEY_LEN 16 /*! Length of encryption key */ |
AnnaBridge | 171:3a7713b1edbc | 563 | #define HCI_ENCRYPT_DATA_LEN 16 /*! Length of data used in encryption */ |
AnnaBridge | 171:3a7713b1edbc | 564 | #define HCI_RAND_LEN 8 /*! Length of random number */ |
AnnaBridge | 171:3a7713b1edbc | 565 | #define HCI_LE_STATES_LEN 8 /*! Length of LE states byte array */ |
AnnaBridge | 171:3a7713b1edbc | 566 | #define HCI_P256_KEY_LEN 64 /*! Length of P256 key */ |
AnnaBridge | 171:3a7713b1edbc | 567 | #define HCI_DH_KEY_LEN 32 /*! Length of DH Key */ |
AnnaBridge | 171:3a7713b1edbc | 568 | |
AnnaBridge | 171:3a7713b1edbc | 569 | /*! Wicentric company ID */ |
AnnaBridge | 171:3a7713b1edbc | 570 | #define HCI_ID_WICENTRIC 0x005F |
AnnaBridge | 171:3a7713b1edbc | 571 | |
AnnaBridge | 171:3a7713b1edbc | 572 | #ifdef __cplusplus |
AnnaBridge | 171:3a7713b1edbc | 573 | }; |
AnnaBridge | 171:3a7713b1edbc | 574 | #endif |
AnnaBridge | 171:3a7713b1edbc | 575 | |
AnnaBridge | 171:3a7713b1edbc | 576 | #endif /* HCI_DEFS_H */ |