![]() |
Cordio Stack and Cordio Profiles
r2p3-02rel0
|
HCI constants and definitions from the Bluetooth specification. More...
Go to the source code of this file.
Macros | |
Packet definitions | |
#define | HCI_CMD_HDR_LEN 3 |
Command packet header length. | |
#define | HCI_ACL_HDR_LEN 4 |
ACL packet header length. | |
#define | HCI_EVT_HDR_LEN 2 |
Event packet header length. | |
#define | HCI_EVT_PARAM_MAX_LEN 255 |
Maximum length of event packet parameters. | |
#define | HCI_ACL_DEFAULT_LEN 27 |
Default maximum ACL packet length. | |
#define | HCI_PB_FLAG_MASK 0x3000 |
ACL packet boundary flag mask. | |
#define | HCI_PB_START_H2C 0x0000 |
Packet boundary flag, start, host-to-controller. | |
#define | HCI_PB_CONTINUE 0x1000 |
Packet boundary flag, continue. | |
#define | HCI_PB_START_C2H 0x2000 |
Packet boundary flag, start, controller-to-host. | |
#define | HCI_HANDLE_MASK 0x0FFF |
Mask for handle bits in ACL packet. | |
#define | HCI_HANDLE_NONE 0xFFFF |
Value for invalid handle. | |
Packet types | |
#define | HCI_CMD_TYPE 1 |
HCI command packet. | |
#define | HCI_ACL_TYPE 2 |
HCI ACL data packet. | |
#define | HCI_EVT_TYPE 4 |
HCI event packet. | |
Error codes | |
#define | HCI_SUCCESS 0x00 |
Success. | |
#define | HCI_ERR_UNKNOWN_CMD 0x01 |
Unknown HCI command. | |
#define | HCI_ERR_UNKNOWN_HANDLE 0x02 |
Unknown connection identifier. | |
#define | HCI_ERR_HARDWARE_FAILURE 0x03 |
Hardware failure. | |
#define | HCI_ERR_PAGE_TIMEOUT 0x04 |
Page timeout. | |
#define | HCI_ERR_AUTH_FAILURE 0x05 |
Authentication failure. | |
#define | HCI_ERR_KEY_MISSING 0x06 |
PIN or key missing. | |
#define | HCI_ERR_MEMORY_EXCEEDED 0x07 |
Memory capacity exceeded. | |
#define | HCI_ERR_CONN_TIMEOUT 0x08 |
Connection timeout. | |
#define | HCI_ERR_CONN_LIMIT 0x09 |
Connection limit exceeded. | |
#define | HCI_ERR_SYNCH_CONN_LIMIT 0x0A |
Synchronous connection limit exceeded. | |
#define | HCI_ERR_ACL_CONN_EXISTS 0x0B |
ACL connection already exists. | |
#define | HCI_ERR_CMD_DISALLOWED 0x0C |
Command disallowed. | |
#define | HCI_ERR_REJ_RESOURCES 0x0D |
Connection rejected limited resources. | |
#define | HCI_ERR_REJ_SECURITY 0x0E |
Connection rejected security reasons. | |
#define | HCI_ERR_REJ_BD_ADDR 0x0F |
Connection rejected unacceptable BD_ADDR. | |
#define | HCI_ERR_ACCEPT_TIMEOUT 0x10 |
Connection accept timeout exceeded. | |
#define | HCI_ERR_UNSUP_FEAT 0x11 |
Unsupported feature or parameter value. | |
#define | HCI_ERR_INVALID_PARAM 0x12 |
Invalid HCI command parameters. | |
#define | HCI_ERR_REMOTE_TERMINATED 0x13 |
Remote user terminated connection. | |
#define | HCI_ERR_REMOTE_RESOURCES 0x14 |
Remote device low resources. | |
#define | HCI_ERR_REMOTE_POWER_OFF 0x15 |
Remote device power off. | |
#define | HCI_ERR_LOCAL_TERMINATED 0x16 |
Connection terminated by local host. | |
#define | HCI_ERR_REPEATED_ATTEMPTS 0x17 |
Repeated attempts. | |
#define | HCI_ERR_PAIRING_NOT_ALLOWED 0x18 |
Pairing not allowed. | |
#define | HCI_ERR_UNKNOWN_LMP_PDU 0x19 |
Unknown LMP PDU. | |
#define | HCI_ERR_UNSUP_REMOTE_FEAT 0x1A |
Unsupported remote feature. | |
#define | HCI_ERR_SCO_OFFSET 0x1B |
SCO offset rejected. | |
#define | HCI_ERR_SCO_INTERVAL 0x1C |
SCO interval rejected. | |
#define | HCI_ERR_SCO_MODE 0x1D |
SCO air mode rejected. | |
#define | HCI_ERR_LMP_PARAM 0x1E |
Invalid LMP parameters. | |
#define | HCI_ERR_UNSPECIFIED 0x1F |
Unspecified error. | |
#define | HCI_ERR_UNSUP_LMP_PARAM 0x20 |
Unsupported LMP parameter value. | |
#define | HCI_ERR_ROLE_CHANGE 0x21 |
Role change not allowed. | |
#define | HCI_ERR_LL_RESP_TIMEOUT 0x22 |
LL response timeout. | |
#define | HCI_ERR_LMP_COLLISION 0x23 |
LMP error transaction collision. | |
#define | HCI_ERR_LMP_PDU 0x24 |
LMP pdu not allowed. | |
#define | HCI_ERR_ENCRYPT_MODE 0x25 |
Encryption mode not acceptable. | |
#define | HCI_ERR_LINK_KEY 0x26 |
Link key can not be changed. | |
#define | HCI_ERR_UNSUP_QOS 0x27 |
Requested qos not supported. | |
#define | HCI_ERR_INSTANT_PASSED 0x28 |
Instant passed. | |
#define | HCI_ERR_UNSUP_UNIT_KEY 0x29 |
Pairing with unit key not supported. | |
#define | HCI_ERR_TRANSACT_COLLISION 0x2A |
Different transaction collision. | |
#define | HCI_ERR_CHANNEL_CLASS 0x2E |
Channel classification not supported. | |
#define | HCI_ERR_MEMORY 0x2F |
Insufficient security. | |
#define | HCI_ERR_PARAMETER_RANGE 0x30 |
Parameter out of mandatory range. | |
#define | HCI_ERR_ROLE_SWITCH_PEND 0x32 |
Role switch pending. | |
#define | HCI_ERR_RESERVED_SLOT 0x34 |
Reserved slot violation. | |
#define | HCI_ERR_ROLE_SWITCH 0x35 |
Role switch failed. | |
#define | HCI_ERR_INQ_TOO_LARGE 0x36 |
Extended inquiry response too large. | |
#define | HCI_ERR_UNSUP_SSP 0x37 |
Secure simple pairing not supported by host. | |
#define | HCI_ERR_HOST_BUSY_PAIRING 0x38 |
Host busy - pairing. | |
#define | HCI_ERR_NO_CHANNEL 0x39 |
Connection rejected no suitable channel. | |
#define | HCI_ERR_CONTROLLER_BUSY 0x3A |
Controller busy. | |
#define | HCI_ERR_CONN_INTERVAL 0x3B |
Unacceptable connection interval. | |
#define | HCI_ERR_ADV_TIMEOUT 0x3C |
Advertising timeout. | |
#define | HCI_ERR_MIC_FAILURE 0x3D |
Connection terminated due to MIC failure. | |
#define | HCI_ERR_CONN_FAIL 0x3E |
Connection failed to be established. | |
#define | HCI_ERR_MAC_CONN_FAIL 0x3F |
MAC connection failed. | |
#define | HCI_ERR_COARSE_CLK_ADJ_REJ 0x40 |
Coarse clock adjustment rejected. | |
#define | HCI_ERR_TYPE0_SUBMAP_NOT_DEF 0x41 |
Type0 submap not defined. | |
#define | HCI_ERR_UNKNOWN_ADV_ID 0x42 |
Unknown advertising identifier. | |
#define | HCI_ERR_LIMIT_REACHED 0x43 |
Limit reached. | |
#define | HCI_ERR_OP_CANCELLED_BY_HOST 0x44 |
Operation cancelled by host. | |
Command groups | |
#define | HCI_OGF_NOP 0x00 |
No operation. | |
#define | HCI_OGF_LINK_CONTROL 0x01 |
Link control. | |
#define | HCI_OGF_LINK_POLICY 0x02 |
Link policy. | |
#define | HCI_OGF_CONTROLLER 0x03 |
Controller and baseband. | |
#define | HCI_OGF_INFORMATIONAL 0x04 |
Informational parameters. | |
#define | HCI_OGF_STATUS 0x05 |
Status parameters. | |
#define | HCI_OGF_TESTING 0x06 |
Testing. | |
#define | HCI_OGF_LE_CONTROLLER 0x08 |
LE controller. | |
#define | HCI_OGF_VENDOR_SPEC 0x3F |
Vendor specific. | |
NOP command | |
#define | HCI_OCF_NOP 0x00 |
Link control commands | |
#define | HCI_OCF_DISCONNECT 0x06 |
#define | HCI_OCF_READ_REMOTE_VER_INFO 0x1D |
Controller and baseband commands | |
Link policy commands (none used for LE) | |
#define | HCI_OCF_SET_EVENT_MASK 0x01 |
#define | HCI_OCF_RESET 0x03 |
#define | HCI_OCF_READ_TX_PWR_LVL 0x2D |
#define | HCI_OCF_SET_CONTROLLER_TO_HOST_FC 0x31 |
#define | HCI_OCF_HOST_BUFFER_SIZE 0x33 |
#define | HCI_OCF_HOST_NUM_CMPL_PKTS 0x35 |
#define | HCI_OCF_SET_EVENT_MASK_PAGE2 0x63 |
#define | HCI_OCF_READ_AUTH_PAYLOAD_TO 0x7B |
#define | HCI_OCF_WRITE_AUTH_PAYLOAD_TO 0x7C |
Informational commands | |
#define | HCI_OCF_READ_LOCAL_VER_INFO 0x01 |
#define | HCI_OCF_READ_LOCAL_SUP_CMDS 0x02 |
#define | HCI_OCF_READ_LOCAL_SUP_FEAT 0x03 |
#define | HCI_OCF_READ_BUF_SIZE 0x05 |
#define | HCI_OCF_READ_BD_ADDR 0x09 |
Status commands | |
#define | HCI_OCF_READ_RSSI 0x05 |
LE controller commands | |
#define | HCI_OCF_LE_SET_EVENT_MASK 0x01 |
#define | HCI_OCF_LE_READ_BUF_SIZE 0x02 |
#define | HCI_OCF_LE_READ_LOCAL_SUP_FEAT 0x03 |
#define | HCI_OCF_LE_SET_RAND_ADDR 0x05 |
#define | HCI_OCF_LE_SET_ADV_PARAM 0x06 |
#define | HCI_OCF_LE_READ_ADV_TX_POWER 0x07 |
#define | HCI_OCF_LE_SET_ADV_DATA 0x08 |
#define | HCI_OCF_LE_SET_SCAN_RESP_DATA 0x09 |
#define | HCI_OCF_LE_SET_ADV_ENABLE 0x0A |
#define | HCI_OCF_LE_SET_SCAN_PARAM 0x0B |
#define | HCI_OCF_LE_SET_SCAN_ENABLE 0x0C |
#define | HCI_OCF_LE_CREATE_CONN 0x0D |
#define | HCI_OCF_LE_CREATE_CONN_CANCEL 0x0E |
#define | HCI_OCF_LE_READ_WHITE_LIST_SIZE 0x0F |
#define | HCI_OCF_LE_CLEAR_WHITE_LIST 0x10 |
#define | HCI_OCF_LE_ADD_DEV_WHITE_LIST 0x11 |
#define | HCI_OCF_LE_REMOVE_DEV_WHITE_LIST 0x12 |
#define | HCI_OCF_LE_CONN_UPDATE 0x13 |
#define | HCI_OCF_LE_SET_HOST_CHAN_CLASS 0x14 |
#define | HCI_OCF_LE_READ_CHAN_MAP 0x15 |
#define | HCI_OCF_LE_READ_REMOTE_FEAT 0x16 |
#define | HCI_OCF_LE_ENCRYPT 0x17 |
#define | HCI_OCF_LE_RAND 0x18 |
#define | HCI_OCF_LE_START_ENCRYPTION 0x19 |
#define | HCI_OCF_LE_LTK_REQ_REPL 0x1A |
#define | HCI_OCF_LE_LTK_REQ_NEG_REPL 0x1B |
#define | HCI_OCF_LE_READ_SUP_STATES 0x1C |
#define | HCI_OCF_LE_RECEIVER_TEST 0x1D |
#define | HCI_OCF_LE_TRANSMITTER_TEST 0x1E |
#define | HCI_OCF_LE_TEST_END 0x1F |
#define | HCI_OCF_LE_REM_CONN_PARAM_REP 0x20 |
New in version 4.1. | |
#define | HCI_OCF_LE_REM_CONN_PARAM_NEG_REP 0x21 |
#define | HCI_OCF_LE_SET_DATA_LEN 0x22 |
New in version 4.2. | |
#define | HCI_OCF_LE_READ_DEF_DATA_LEN 0x23 |
#define | HCI_OCF_LE_WRITE_DEF_DATA_LEN 0x24 |
#define | HCI_OCF_LE_READ_LOCAL_P256_PUB_KEY 0x25 |
#define | HCI_OCF_LE_GENERATE_DHKEY 0x26 |
#define | HCI_OCF_LE_ADD_DEV_RES_LIST 0x27 |
#define | HCI_OCF_LE_REMOVE_DEV_RES_LIST 0x28 |
#define | HCI_OCF_LE_CLEAR_RES_LIST 0x29 |
#define | HCI_OCF_LE_READ_RES_LIST_SIZE 0x2A |
#define | HCI_OCF_LE_READ_PEER_RES_ADDR 0x2B |
#define | HCI_OCF_LE_READ_LOCAL_RES_ADDR 0x2C |
#define | HCI_OCF_LE_SET_ADDR_RES_ENABLE 0x2D |
#define | HCI_OCF_LE_SET_RES_PRIV_ADDR_TO 0x2E |
#define | HCI_OCF_LE_READ_MAX_DATA_LEN 0x2F |
#define | HCI_OCF_LE_READ_PHY 0x30 |
New in version 5.0. | |
#define | HCI_OCF_LE_SET_DEF_PHY 0x31 |
#define | HCI_OCF_LE_SET_PHY 0x32 |
#define | HCI_OCF_LE_ENHANCED_RECEIVER_TEST 0x33 |
#define | HCI_OCF_LE_ENHANCED_TRANSMITTER_TEST 0x34 |
#define | HCI_OCF_LE_SET_ADV_SET_RAND_ADDR 0x35 |
#define | HCI_OCF_LE_SET_EXT_ADV_PARAM 0x36 |
#define | HCI_OCF_LE_SET_EXT_ADV_DATA 0x37 |
#define | HCI_OCF_LE_SET_EXT_SCAN_RESP_DATA 0x38 |
#define | HCI_OCF_LE_SET_EXT_ADV_ENABLE 0x39 |
#define | HCI_OCF_LE_READ_MAX_ADV_DATA_LEN 0x3A |
#define | HCI_OCF_LE_READ_NUM_SUP_ADV_SETS 0x3B |
#define | HCI_OCF_LE_REMOVE_ADV_SET 0x3C |
#define | HCI_OCF_LE_CLEAR_ADV_SETS 0x3D |
#define | HCI_OCF_LE_SET_PER_ADV_PARAM 0x3E |
#define | HCI_OCF_LE_SET_PER_ADV_DATA 0x3F |
#define | HCI_OCF_LE_SET_PER_ADV_ENABLE 0x40 |
#define | HCI_OCF_LE_SET_EXT_SCAN_PARAM 0x41 |
#define | HCI_OCF_LE_SET_EXT_SCAN_ENABLE 0x42 |
#define | HCI_OCF_LE_EXT_CREATE_CONN 0x43 |
#define | HCI_OCF_LE_PER_ADV_CREATE_SYNC 0x44 |
#define | HCI_OCF_LE_PER_ADV_CREATE_SYNC_CANCEL 0x45 |
#define | HCI_OCF_LE_PER_ADV_TERM_SYNC 0x46 |
#define | HCI_OCF_LE_ADD_DEV_PER_ADV_LIST 0x47 |
#define | HCI_OCF_LE_REMOVE_DEV_PER_ADV_LIST 0x48 |
#define | HCI_OCF_LE_CLEAR_PER_ADV_LIST 0x49 |
#define | HCI_OCF_LE_READ_PER_ADV_LIST_SIZE 0x4A |
#define | HCI_OCF_LE_READ_TX_POWER 0x4B |
#define | HCI_OCF_LE_READ_RF_PATH_COMP 0x4C |
#define | HCI_OCF_LE_WRITE_RF_PATH_COMP 0x4D |
#define | HCI_OCF_LE_SET_PRIVACY_MODE 0x4E |
Opcode manipulation macros | |
#define | HCI_OPCODE(ogf, ocf) (((ogf) << 10) + (ocf)) |
#define | HCI_OGF(opcode) ((opcode) >> 10) |
#define | HCI_OCF(opcode) ((opcode) & 0x03FF) |
Command opcodes | |
#define | HCI_OPCODE_NOP HCI_OPCODE(HCI_OGF_NOP, HCI_OCF_NOP) |
#define | HCI_OPCODE_DISCONNECT HCI_OPCODE(HCI_OGF_LINK_CONTROL, HCI_OCF_DISCONNECT) |
#define | HCI_OPCODE_READ_REMOTE_VER_INFO HCI_OPCODE(HCI_OGF_LINK_CONTROL, HCI_OCF_READ_REMOTE_VER_INFO) |
#define | HCI_OPCODE_SET_EVENT_MASK HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_SET_EVENT_MASK) |
#define | HCI_OPCODE_RESET HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_RESET) |
#define | HCI_OPCODE_READ_TX_PWR_LVL HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_READ_TX_PWR_LVL) |
#define | HCI_OPCODE_SET_EVENT_MASK_PAGE2 HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_SET_EVENT_MASK_PAGE2) |
#define | HCI_OPCODE_READ_AUTH_PAYLOAD_TO HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_READ_AUTH_PAYLOAD_TO) |
#define | HCI_OPCODE_WRITE_AUTH_PAYLOAD_TO HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_WRITE_AUTH_PAYLOAD_TO) |
#define | HCI_OPCODE_READ_LOCAL_VER_INFO HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_VER_INFO) |
#define | HCI_OPCODE_READ_LOCAL_SUP_CMDS HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_CMDS) |
#define | HCI_OPCODE_READ_LOCAL_SUP_FEAT HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_FEAT) |
#define | HCI_OPCODE_READ_BUF_SIZE HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_BUF_SIZE) |
#define | HCI_OPCODE_READ_BD_ADDR HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_BD_ADDR) |
#define | HCI_OPCODE_READ_RSSI HCI_OPCODE(HCI_OGF_STATUS, HCI_OCF_READ_RSSI) |
#define | HCI_OPCODE_LE_SET_EVENT_MASK HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EVENT_MASK) |
#define | HCI_OPCODE_LE_READ_BUF_SIZE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_BUF_SIZE) |
#define | HCI_OPCODE_LE_READ_LOCAL_SUP_FEAT HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_SUP_FEAT) |
#define | HCI_OPCODE_LE_SET_RAND_ADDR HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_RAND_ADDR) |
#define | HCI_OPCODE_LE_SET_ADV_PARAM HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_PARAM) |
#define | HCI_OPCODE_LE_READ_ADV_TX_POWER HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_ADV_TX_POWER) |
#define | HCI_OPCODE_LE_SET_ADV_DATA HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_DATA) |
#define | HCI_OPCODE_LE_SET_SCAN_RESP_DATA HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_RESP_DATA) |
#define | HCI_OPCODE_LE_SET_ADV_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_ENABLE) |
#define | HCI_OPCODE_LE_SET_SCAN_PARAM HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_PARAM) |
#define | HCI_OPCODE_LE_SET_SCAN_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_ENABLE) |
#define | HCI_OPCODE_LE_CREATE_CONN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_CONN) |
#define | HCI_OPCODE_LE_CREATE_CONN_CANCEL HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_CONN_CANCEL) |
#define | HCI_OPCODE_LE_READ_WHITE_LIST_SIZE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_WHITE_LIST_SIZE) |
#define | HCI_OPCODE_LE_CLEAR_WHITE_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_WHITE_LIST) |
#define | HCI_OPCODE_LE_ADD_DEV_WHITE_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ADD_DEV_WHITE_LIST) |
#define | HCI_OPCODE_LE_REMOVE_DEV_WHITE_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_DEV_WHITE_LIST) |
#define | HCI_OPCODE_LE_CONN_UPDATE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CONN_UPDATE) |
#define | HCI_OPCODE_LE_SET_HOST_CHAN_CLASS HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_HOST_CHAN_CLASS) |
#define | HCI_OPCODE_LE_READ_CHAN_MAP HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_CHAN_MAP) |
#define | HCI_OPCODE_LE_READ_REMOTE_FEAT HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_REMOTE_FEAT) |
#define | HCI_OPCODE_LE_ENCRYPT HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ENCRYPT) |
#define | HCI_OPCODE_LE_RAND HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_RAND) |
#define | HCI_OPCODE_LE_START_ENCRYPTION HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_START_ENCRYPTION) |
#define | HCI_OPCODE_LE_LTK_REQ_REPL HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_LTK_REQ_REPL) |
#define | HCI_OPCODE_LE_LTK_REQ_NEG_REPL HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_LTK_REQ_NEG_REPL) |
#define | HCI_OPCODE_LE_READ_SUP_STATES HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_SUP_STATES) |
#define | HCI_OPCODE_LE_RECEIVER_TEST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_RECEIVER_TEST) |
#define | HCI_OPCODE_LE_TRANSMITTER_TEST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_TRANSMITTER_TEST) |
#define | HCI_OPCODE_LE_TEST_END HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_TEST_END) |
#define | HCI_OPCODE_LE_REM_CONN_PARAM_REP HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REM_CONN_PARAM_REP) |
New in version 4.1. | |
#define | HCI_OPCODE_LE_REM_CONN_PARAM_NEG_REP HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REM_CONN_PARAM_NEG_REP) |
#define | HCI_OPCODE_LE_SET_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_DATA_LEN) |
New in version 4.2. | |
#define | HCI_OPCODE_LE_READ_DEF_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_DEF_DATA_LEN) |
#define | HCI_OPCODE_LE_WRITE_DEF_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_WRITE_DEF_DATA_LEN) |
#define | HCI_OPCODE_LE_READ_LOCAL_P256_PUB_KEY HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_P256_PUB_KEY) |
#define | HCI_OPCODE_LE_GENERATE_DHKEY HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_GENERATE_DHKEY) |
#define | HCI_OPCODE_LE_ADD_DEV_RES_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ADD_DEV_RES_LIST) |
#define | HCI_OPCODE_LE_REMOVE_DEV_RES_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_DEV_RES_LIST) |
#define | HCI_OPCODE_LE_CLEAR_RES_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_RES_LIST) |
#define | HCI_OPCODE_LE_READ_RES_LIST_SIZE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_RES_LIST_SIZE) |
#define | HCI_OPCODE_LE_READ_PEER_RES_ADDR HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_PEER_RES_ADDR) |
#define | HCI_OPCODE_LE_READ_LOCAL_RES_ADDR HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_RES_ADDR) |
#define | HCI_OPCODE_LE_SET_ADDR_RES_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADDR_RES_ENABLE) |
#define | HCI_OPCODE_LE_SET_RES_PRIV_ADDR_TO HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_RES_PRIV_ADDR_TO) |
#define | HCI_OPCODE_LE_READ_MAX_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_MAX_DATA_LEN) |
#define | HCI_OPCODE_LE_READ_PHY HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_PHY) |
New in version 5.0. | |
#define | HCI_OPCODE_LE_SET_DEF_PHY HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_DEF_PHY) |
#define | HCI_OPCODE_LE_SET_PHY HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PHY) |
#define | HCI_OPCODE_LE_ENHANCED_RECEIVER_TEST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ENHANCED_RECEIVER_TEST) |
#define | HCI_OPCODE_LE_ENHANCED_TRANSMITTER_TEST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ENHANCED_TRANSMITTER_TEST) |
#define | HCI_OPCODE_LE_SET_ADV_SET_RAND_ADDR HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_SET_RAND_ADDR) |
#define | HCI_OPCODE_LE_SET_EXT_ADV_PARAM HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_ADV_PARAM) |
#define | HCI_OPCODE_LE_SET_EXT_ADV_DATA HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_ADV_DATA) |
#define | HCI_OPCODE_LE_SET_EXT_SCAN_RESP_DATA HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_SCAN_RESP_DATA) |
#define | HCI_OPCODE_LE_SET_EXT_ADV_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_ADV_ENABLE) |
#define | HCI_OPCODE_LE_READ_MAX_ADV_DATA_LEN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_MAX_ADV_DATA_LEN) |
#define | HCI_OPCODE_LE_READ_NUM_SUP_ADV_SETS HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_NUM_SUP_ADV_SETS) |
#define | HCI_OPCODE_LE_REMOVE_ADV_SET HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_ADV_SET) |
#define | HCI_OPCODE_LE_CLEAR_ADV_SETS HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_ADV_SETS) |
#define | HCI_OPCODE_LE_SET_PER_ADV_PARAM HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PER_ADV_PARAM) |
#define | HCI_OPCODE_LE_SET_PER_ADV_DATA HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PER_ADV_DATA) |
#define | HCI_OPCODE_LE_SET_PER_ADV_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PER_ADV_ENABLE) |
#define | HCI_OPCODE_LE_SET_EXT_SCAN_PARAM HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_SCAN_PARAM) |
#define | HCI_OPCODE_LE_SET_EXT_SCAN_ENABLE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_SCAN_ENABLE) |
#define | HCI_OPCODE_LE_EXT_CREATE_CONN HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_EXT_CREATE_CONN) |
#define | HCI_OPCODE_LE_PER_ADV_CREATE_SYNC HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_PER_ADV_CREATE_SYNC) |
#define | HCI_OPCODE_LE_PER_ADV_CREATE_SYNC_CANCEL HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_PER_ADV_CREATE_SYNC_CANCEL) |
#define | HCI_OPCODE_LE_PER_ADV_TERMINATE_SYNC HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_PER_ADV_TERM_SYNC) |
#define | HCI_OPCODE_LE_ADD_DEV_PER_ADV_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ADD_DEV_PER_ADV_LIST) |
#define | HCI_OPCODE_LE_REMOVE_DEV_PER_ADV_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_DEV_PER_ADV_LIST) |
#define | HCI_OPCODE_LE_CLEAR_PER_ADV_LIST HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_PER_ADV_LIST) |
#define | HCI_OPCODE_LE_READ_PER_ADV_LIST_SIZE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_PER_ADV_LIST_SIZE) |
#define | HCI_OPCODE_LE_READ_TX_POWER HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_TX_POWER) |
#define | HCI_OPCODE_LE_WRITE_RF_PATH_COMP HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_WRITE_RF_PATH_COMP) |
#define | HCI_OPCODE_LE_READ_RF_PATH_COMP HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_RF_PATH_COMP) |
#define | HCI_OPCODE_LE_SET_PRIVACY_MODE HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PRIVACY_MODE) |
ARM Vendor Specific | |
#define | HCI_OPCODE_LE_VS_ENABLE_READ_FEAT_ON_CONN ((uint16_t)(0xfff3)) |
Command parameter lengths | |
#define | HCI_LEN_NOP 0 |
#define | HCI_LEN_DISCONNECT 3 |
#define | HCI_LEN_READ_REMOTE_VER_INFO 2 |
#define | HCI_LEN_SET_EVENT_MASK 8 |
#define | HCI_LEN_SET_EVENT_MASK_PAGE2 8 |
#define | HCI_LEN_RESET 0 |
#define | HCI_LEN_READ_TX_PWR_LVL 3 |
#define | HCI_LEN_SET_CONTROLLER_TO_HOST_FC 1 |
#define | HCI_LEN_HOST_BUFFER_SIZE 8 |
#define | HCI_LEN_HOST_NUM_CMPL_PKTS 1 |
#define | HCI_LEN_READ_LOCAL_VER_INFO 0 |
#define | HCI_LEN_READ_LOCAL_SUP_CMDS 0 |
#define | HCI_LEN_READ_LOCAL_SUP_FEAT 0 |
#define | HCI_LEN_READ_BUF_SIZE 0 |
#define | HCI_LEN_READ_BD_ADDR 0 |
#define | HCI_LEN_READ_RSSI 2 |
#define | HCI_LEN_READ_AUTH_PAYLOAD_TO 2 |
#define | HCI_LEN_WRITE_AUTH_PAYLOAD_TO 4 |
#define | HCI_LEN_LE_SET_EVENT_MASK 8 |
#define | HCI_LEN_LE_READ_BUF_SIZE 0 |
#define | HCI_LEN_LE_READ_LOCAL_SUP_FEAT 0 |
#define | HCI_LEN_LE_SET_RAND_ADDR 6 |
#define | HCI_LEN_LE_SET_ADV_PARAM 15 |
#define | HCI_LEN_LE_READ_ADV_TX_POWER 0 |
#define | HCI_LEN_LE_SET_ADV_DATA 32 |
#define | HCI_LEN_LE_SET_SCAN_RESP_DATA 32 |
#define | HCI_LEN_LE_SET_ADV_ENABLE 1 |
#define | HCI_LEN_LE_SET_SCAN_PARAM 7 |
#define | HCI_LEN_LE_SET_SCAN_ENABLE 2 |
#define | HCI_LEN_LE_CREATE_CONN 25 |
#define | HCI_LEN_LE_CREATE_CONN_CANCEL 0 |
#define | HCI_LEN_LE_READ_WHITE_LIST_SIZE 0 |
#define | HCI_LEN_LE_CLEAR_WHITE_LIST 0 |
#define | HCI_LEN_LE_ADD_DEV_WHITE_LIST 7 |
#define | HCI_LEN_LE_REMOVE_DEV_WHITE_LIST 7 |
#define | HCI_LEN_LE_CONN_UPDATE 14 |
#define | HCI_LEN_LE_SET_HOST_CHAN_CLASS 5 |
#define | HCI_LEN_LE_READ_CHAN_MAP 2 |
#define | HCI_LEN_LE_READ_REMOTE_FEAT 2 |
#define | HCI_LEN_LE_ENCRYPT 32 |
#define | HCI_LEN_LE_RAND 0 |
#define | HCI_LEN_LE_START_ENCRYPTION 28 |
#define | HCI_LEN_LE_LTK_REQ_REPL 18 |
#define | HCI_LEN_LE_LTK_REQ_NEG_REPL 2 |
#define | HCI_LEN_LE_READ_SUP_STATES 0 |
#define | HCI_LEN_LE_RECEIVER_TEST 1 |
#define | HCI_LEN_LE_TRANSMITTER_TEST 3 |
#define | HCI_LEN_LE_TEST_END 0 |
#define | HCI_LEN_LE_REM_CONN_PARAM_REP 14 |
New in version 4.1. | |
#define | HCI_LEN_LE_REM_CONN_PARAM_NEG_REP 3 |
#define | HCI_LEN_LE_SET_DATA_LEN 6 |
New in version 4.2. | |
#define | HCI_LEN_LE_READ_DEF_DATA_LEN 0 |
#define | HCI_LEN_LE_WRITE_DEF_DATA_LEN 4 |
#define | HCI_LEN_LE_READ_LOCAL_P256_PUB_KEY 0 |
#define | HCI_LEN_LE_GENERATE_DHKEY 64 |
#define | HCI_LEN_LE_ADD_DEV_RES_LIST 39 |
#define | HCI_LEN_LE_REMOVE_DEV_RES_LIST 7 |
#define | HCI_LEN_LE_CLEAR_RES_LIST 0 |
#define | HCI_LEN_LE_READ_RES_LIST_SIZE 0 |
#define | HCI_LEN_LE_READ_PEER_RES_ADDR 7 |
#define | HCI_LEN_LE_READ_LOCAL_RES_ADDR 7 |
#define | HCI_LEN_LE_SET_ADDR_RES_ENABLE 1 |
#define | HCI_LEN_LE_SET_RES_PRIV_ADDR_TO 2 |
#define | HCI_LEN_LE_READ_MAX_DATA_LEN 0 |
#define | HCI_LEN_LE_READ_PHY 2 |
New in version 5.0. | |
#define | HCI_LEN_LE_SET_DEF_PHY 3 |
#define | HCI_LEN_LE_SET_PHY 7 |
#define | HCI_LEN_LE_ENHANCED_RECEIVER_TEST 3 |
#define | HCI_LEN_LE_ENHANCED_TRANSMITTER_TEST 4 |
#define | HCI_LEN_LE_SET_ADV_SET_RAND_ADDR 7 |
#define | HCI_LEN_LE_SET_EXT_ADV_PARAM 25 |
#define | HCI_LEN_LE_SET_EXT_ADV_DATA(len) (4 + (len)) |
#define | HCI_LEN_LE_SET_EXT_SCAN_RESP_DATA(len) (4 + (len)) |
#define | HCI_LEN_LE_EXT_ADV_ENABLE(numSets) (2 + (4 * (numSets))) |
#define | HCI_LEN_LE_READ_MAX_ADV_DATA_LEN 0 |
#define | HCI_LEN_LE_READ_NUM_OF_SUP_ADV_SETS 0 |
#define | HCI_LEN_LE_REMOVE_ADV_SET 1 |
#define | HCI_LEN_LE_CLEAR_ADV_SETS 0 |
#define | HCI_LEN_LE_SET_PER_ADV_PARAM 7 |
#define | HCI_LEN_LE_SET_PER_ADV_DATA(len) (3 + (len)) |
#define | HCI_LEN_LE_SET_PER_ADV_ENABLE 2 |
#define | HCI_LEN_LE_SET_EXT_SCAN_PARAM(numPhys) (3 + (5 * (numPhys))) |
#define | HCI_LEN_LE_SET_EXT_SCAN_ENABLE 6 |
#define | HCI_LEN_LE_EXT_CREATE_CONN(numPhys) (10 + (16 * (numPhys))) |
#define | HCI_LEN_LE_PER_ADV_CREATE_SYNC 14 |
#define | HCI_LEN_LE_PER_ADV_CREATE_SYNC_CANCEL 0 |
#define | HCI_LEN_LE_PER_ADV_TERMINATE_SYNC 2 |
#define | HCI_LEN_LE_ADD_DEV_PER_ADV_LIST 8 |
#define | HCI_LEN_LE_REMOVE_DEV_PER_ADV_LIST 8 |
#define | HCI_LEN_LE_CLEAR_PER_ADV_LIST 0 |
#define | HCI_LEN_LE_READ_PER_ADV_LIST_SIZE 0 |
#define | HCI_LEN_LE_READ_TX_POWER 0 |
#define | HCI_LEN_LE_READ_RF_PATH_COMP 0 |
#define | HCI_LEN_LE_WRITE_RF_PATH_COMP 4 |
#define | HCI_LEN_LE_SET_PRIVACY_MODE 8 |
Events | |
#define | HCI_DISCONNECT_CMPL_EVT 0x05 |
#define | HCI_ENC_CHANGE_EVT 0x08 |
#define | HCI_READ_REMOTE_VER_INFO_CMPL_EVT 0x0C |
#define | HCI_CMD_CMPL_EVT 0x0E |
#define | HCI_CMD_STATUS_EVT 0x0F |
#define | HCI_HW_ERROR_EVT 0x10 |
#define | HCI_NUM_CMPL_PKTS_EVT 0x13 |
#define | HCI_DATA_BUF_OVERFLOW_EVT 0x1A |
#define | HCI_ENC_KEY_REFRESH_CMPL_EVT 0x30 |
#define | HCI_LE_META_EVT 0x3E |
#define | HCI_AUTH_PAYLOAD_TIMEOUT_EVT 0x57 |
#define | HCI_VENDOR_SPEC_EVT 0xFF |
LE Subevents | |
#define | HCI_LE_CONN_CMPL_EVT 0x01 |
#define | HCI_LE_ADV_REPORT_EVT 0x02 |
#define | HCI_LE_CONN_UPDATE_CMPL_EVT 0x03 |
#define | HCI_LE_READ_REMOTE_FEAT_CMPL_EVT 0x04 |
#define | HCI_LE_LTK_REQ_EVT 0x05 |
#define | HCI_LE_REM_CONN_PARAM_REQ_EVT 0x06 |
New in version 4.1. | |
#define | HCI_LE_DATA_LEN_CHANGE_EVT 0x07 |
New in version 4.2. | |
#define | HCI_LE_READ_LOCAL_P256_PUB_KEY_CMPL_EVT 0x08 |
#define | HCI_LE_GENERATE_DHKEY_CMPL_EVT 0x09 |
#define | HCI_LE_ENHANCED_CONN_CMPL_EVT 0x0A |
#define | HCI_LE_DIRECT_ADV_REPORT_EVT 0x0B |
#define | HCI_LE_PHY_UPDATE_CMPL_EVT 0x0C |
New in version 5.0. | |
#define | HCI_LE_EXT_ADV_REPORT_EVT 0x0D |
#define | HCI_LE_PER_ADV_SYNC_EST_EVT 0x0E |
#define | HCI_LE_PER_ADV_REPORT_EVT 0x0F |
#define | HCI_LE_PER_ADV_SYNC_LOST_EVT 0x10 |
#define | HCI_LE_SCAN_TIMEOUT_EVT 0x11 |
#define | HCI_LE_ADV_SET_TERM_EVT 0x12 |
#define | HCI_LE_SCAN_REQ_RCVD_EVT 0x13 |
#define | HCI_LE_CH_SEL_ALGO_EVT 0x14 |
Event parameter lengths | |
#define | HCI_LEN_DISCONNECT_CMPL 4 |
Disconnect event length. | |
#define | HCI_LEN_READ_REMOTE_VER_INFO_CMPL 8 |
Read remove version info complete event length. | |
#define | HCI_LEN_CMD_CMPL 3 |
Command complete event length. | |
#define | HCI_LEN_CMD_STATUS 4 |
Command status event length. | |
#define | HCI_LEN_HW_ERR 1 |
Hardware error event length. | |
#define | HCI_LEN_NUM_CMPL_PKTS 5 |
Number of completed packets event length. | |
#define | HCI_LEN_ENC_CHANGE 4 |
Encryption change event length. | |
#define | HCI_LEN_ENC_KEY_REFRESH_CMPL 3 |
Encryption key refresh complete event length. | |
#define | HCI_LEN_LE_CONN_CMPL 19 |
Connection complete event length. | |
#define | HCI_LEN_LE_ADV_RPT_MIN 12 |
Advertising report event minimum length. | |
#define | HCI_LEN_LE_CONN_UPDATE_CMPL 10 |
Connection update complete event length. | |
#define | HCI_LEN_LE_READ_REMOTE_FEAT_CMPL 12 |
Read remote feature event length. | |
#define | HCI_LEN_LE_LTK_REQ 13 |
LTK request event length. | |
#define | HCI_LEN_LE_REM_CONN_PARAM_REQ 11 |
New in version 4.1. More... | |
#define | HCI_LEN_LE_DATA_LEN_CHANGE 11 |
Data length change event length. | |
#define | HCI_LEN_LE_READ_PUB_KEY_CMPL 66 |
Read local P256 public key compete event length. | |
#define | HCI_LEN_LE_GEN_DHKEY_CMPL 34 |
Generate DH key complete event length. | |
#define | HCI_LEN_LE_ENHANCED_CONN_CMPL 31 |
Enhanced connection complete event length. | |
#define | HCI_LEN_LE_DIRECT_ADV_REPORT 18 |
Direct advertising report event length. | |
#define | HCI_LEN_AUTH_PAYLOAD_TIMEOUT 2 |
Authenticated payload timeout event length. | |
#define | HCI_LEN_LE_PHY_UPDATE_CMPL 6 |
New in version 5.0. More... | |
#define | HCI_LEN_LE_CH_SEL_ALGO 4 |
Channel selection algorithm event length. | |
#define | HCI_LEN_LE_PHY_UPDATE_CMPL 6 |
New in version 5.0. More... | |
#define | HCI_LEN_LE_EXT_ADV_REPORT_MIN 26 |
Extended advertising report minimum length. | |
#define | HCI_LEN_LE_PER_ADV_SYNC_EST 16 |
Periodic advertising sync established event length. | |
#define | HCI_LEN_LE_PER_ADV_REPORT 8 |
Periodic advertising report event length. | |
#define | HCI_LEN_LE_PER_ADV_SYNC_LOST 3 |
Periodic advertising sync lost event length. | |
#define | HCI_LEN_LE_SCAN_TIMEOUT 1 |
Scan timeout event length. | |
#define | HCI_LEN_LE_ADV_SET_TERM 6 |
Advertising set terminated event length. | |
#define | HCI_LEN_LE_SCAN_REQ_RCVD 9 |
Scan request received event length. | |
Supported commands | |
#define | HCI_SUP_DISCONNECT 0x20 |
Byte 0. | |
#define | HCI_SUP_READ_REMOTE_VER_INFO 0x80 |
Byte 2. | |
#define | HCI_SUP_SET_EVENT_MASK 0x40 |
Byte 5. | |
#define | HCI_SUP_RESET 0x80 |
Byte 5. | |
#define | HCI_SUP_READ_TX_PWR_LVL 0x04 |
Byte 10. | |
#define | HCI_SUP_READ_LOCAL_VER_INFO 0x08 |
Byte 14. | |
#define | HCI_SUP_READ_LOCAL_SUP_FEAT 0x20 |
Byte 14. | |
#define | HCI_SUP_READ_BD_ADDR 0x02 |
Byte 15. | |
#define | HCI_SUP_READ_RSSI 0x20 |
Byte 15. | |
#define | HCI_SUP_SET_EVENT_MASK_PAGE2 0x04 |
Byte 22. | |
#define | HCI_SUP_LE_SET_EVENT_MASK 0x01 |
Byte 25. | |
#define | HCI_SUP_LE_READ_BUF_SIZE 0x02 |
Byte 25. | |
#define | HCI_SUP_LE_READ_LOCAL_SUP_FEAT 0x04 |
Byte 25. | |
#define | HCI_SUP_LE_SET_RAND_ADDR 0x10 |
Byte 25. | |
#define | HCI_SUP_LE_SET_ADV_PARAM 0x20 |
Byte 25. | |
#define | HCI_SUP_LE_READ_ADV_TX_POWER 0x40 |
Byte 25. | |
#define | HCI_SUP_LE_SET_ADV_DATA 0x80 |
Byte 25. | |
#define | HCI_SUP_LE_SET_SCAN_RESP_DATA 0x01 |
Byte 26. | |
#define | HCI_SUP_LE_SET_ADV_ENABLE 0x02 |
Byte 26. | |
#define | HCI_SUP_LE_SET_SCAN_PARAM 0x04 |
Byte 26. | |
#define | HCI_SUP_LE_SET_SCAN_ENABLE 0x08 |
Byte 26. | |
#define | HCI_SUP_LE_CREATE_CONN 0x10 |
Byte 26. | |
#define | HCI_SUP_LE_CREATE_CONN_CANCEL 0x20 |
Byte 26. | |
#define | HCI_SUP_LE_READ_WHITE_LIST_SIZE 0x40 |
Byte 26. | |
#define | HCI_SUP_LE_CLEAR_WHITE_LIST 0x80 |
Byte 26. | |
#define | HCI_SUP_LE_ADD_DEV_WHITE_LIST 0x01 |
Byte 27. | |
#define | HCI_SUP_LE_REMOVE_DEV_WHITE_LIST 0x02 |
Byte 27. | |
#define | HCI_SUP_LE_CONN_UPDATE 0x04 |
Byte 27. | |
#define | HCI_SUP_LE_SET_HOST_CHAN_CLASS 0x08 |
Byte 27. | |
#define | HCI_SUP_LE_READ_CHAN_MAP 0x10 |
Byte 27. | |
#define | HCI_SUP_LE_READ_REMOTE_FEAT 0x20 |
Byte 27. | |
#define | HCI_SUP_LE_ENCRYPT 0x40 |
Byte 27. | |
#define | HCI_SUP_LE_RAND 0x80 |
Byte 27. | |
#define | HCI_SUP_LE_START_ENCRYPTION 0x01 |
Byte 28. | |
#define | HCI_SUP_LE_LTK_REQ_REPL 0x02 |
Byte 28. | |
#define | HCI_SUP_LE_LTK_REQ_NEG_REPL 0x04 |
Byte 28. | |
#define | HCI_SUP_LE_READ_SUP_STATES 0x08 |
Byte 28. | |
#define | HCI_SUP_LE_RECEIVER_TEST 0x10 |
Byte 28. | |
#define | HCI_SUP_LE_TRANSMITTER_TEST 0x20 |
Byte 28. | |
#define | HCI_SUP_LE_TEST_END 0x40 |
Byte 28. | |
#define | HCI_SUP_READ_AUTH_PAYLOAD_TO 0x10 |
Byte 32. | |
#define | HCI_SUP_WRITE_AUTH_PAYLOAD_TO 0x20 |
Byte 32. | |
#define | HCI_SUP_LE_REM_CONN_PARAM_REQ_REPL 0x10 |
New in version 4.1. More... | |
#define | HCI_SUP_LE_REM_CONN_PARAM_REQ_NEG_REPL 0x20 |
Byte 33. | |
#define | HCI_SUP_LE_SET_DATA_LEN 0x40 |
New in version 4.2. More... | |
#define | HCI_SUP_LE_READ_DEF_DATA_LEN 0x80 |
Byte 33. | |
#define | HCI_SUP_LE_WRITE_DEF_DATA_LEN 0x01 |
Byte 34. | |
#define | HCI_SUP_LE_READ_LOCAL_P256_PUB_KEY 0x02 |
Byte 34. | |
#define | HCI_SUP_LE_GENERATE_DHKEY 0x04 |
Byte 34. | |
#define | HCI_SUP_LE_ADD_DEV_RES_LIST_EVT 0x08 |
Byte 34. | |
#define | HCI_SUP_LE_REMOVE_DEV_RES_LIST 0x10 |
Byte 34. | |
#define | HCI_SUP_LE_CLEAR_RES_LIST 0x20 |
Byte 34. | |
#define | HCI_SUP_LE_READ_RES_LIST_SIZE 0x40 |
Byte 34. | |
#define | HCI_SUP_LE_READ_PEER_RES_ADDR 0x80 |
Byte 34. | |
#define | HCI_SUP_LE_READ_LOCAL_RES_ADDR 0x01 |
Byte 35. | |
#define | HCI_SUP_LE_SET_ADDR_RES_ENABLE 0x02 |
Byte 35. | |
#define | HCI_SUP_LE_SET_RES_PRIV_ADDR_TO 0x04 |
Byte 35. | |
#define | HCI_SUP_LE_READ_MAX_DATA_LEN 0x08 |
Byte 35. | |
#define | HCI_SUP_LE_READ_PHY 0x10 |
New in version 5.0. More... | |
#define | HCI_SUP_LE_SET_DEF_PHY 0x20 |
Byte 35. | |
#define | HCI_SUP_LE_SET_PHY 0x40 |
Byte 35. | |
#define | HCI_SUP_LE_ENHANCED_RECEIVER_TEST 0x80 |
Byte 35. | |
#define | HCI_SUP_LE_ENHANCED_TRANSMITTER_TEST 0x01 |
Byte 36. | |
#define | HCI_SUP_LE_SET_ADV_SET_RAND_ADDR 0x02 |
Byte 36. | |
#define | HCI_SUP_LE_SET_EXT_ADV_PARAM 0x04 |
Byte 36. | |
#define | HCI_SUP_LE_SET_EXT_ADV_DATA 0x08 |
Byte 36. | |
#define | HCI_SUP_LE_SET_EXT_SCAN_RESP_DATA 0x10 |
Byte 36. | |
#define | HCI_SUP_LE_SET_EXT_ADV_ENABLE 0x20 |
Byte 36. | |
#define | HCI_SUP_LE_READ_MAX_ADV_DATA_LEN 0x40 |
Byte 36. | |
#define | HCI_SUP_LE_READ_NUM_OF_SUP_ADV_SETS 0x80 |
Byte 36. | |
#define | HCI_SUP_LE_REMOVE_ADV_SET 0x01 |
Byte 37. | |
#define | HCI_SUP_LE_CLEAR_ADV_SETS 0x02 |
Byte 37. | |
#define | HCI_SUP_LE_SET_PER_ADV_PARAM 0x04 |
Byte 37. | |
#define | HCI_SUP_LE_SET_PER_ADV_DATA 0x08 |
Byte 37. | |
#define | HCI_SUP_LE_SET_PER_ADV_ENABLE 0x10 |
Byte 37. | |
#define | HCI_SUP_LE_SET_EXT_SCAN_PARAM 0x20 |
Byte 37. | |
#define | HCI_SUP_LE_SET_EXT_SCAN_ENABLE 0x40 |
Byte 37. | |
#define | HCI_SUP_LE_EXT_CREATE_CONN 0x80 |
Byte 37. | |
#define | HCI_SUP_LE_PER_ADV_CREATE_SYNC 0x01 |
Byte 38. | |
#define | HCI_SUP_LE_PER_ADV_CREATE_SYNC_CANCEL 0x02 |
Byte 38. | |
#define | HCI_SUP_LE_PER_ADV_TERMINATE_SYNC 0x04 |
Byte 38. | |
#define | HCI_SUP_LE_ADD_DEV_PER_ADV_LIST 0x08 |
Byte 38. | |
#define | HCI_SUP_LE_REMOVE_DEV_PER_ADV_LIST 0x10 |
Byte 38. | |
#define | HCI_SUP_LE_CLEAR_PER_ADV_LIST 0x20 |
Byte 38. | |
#define | HCI_SUP_LE_READ_PER_ADV_LIST_SIZE 0x40 |
Byte 38. | |
#define | HCI_SUP_LE_READ_TX_POWER 0x80 |
Byte 38. | |
#define | HCI_SUP_LE_READ_RF_PATH_COMP 0x01 |
Byte 39. | |
#define | HCI_SUP_LE_WRITE_RF_PATH_COMP 0x02 |
Byte 39. | |
#define | HCI_SUP_LE_SET_PRIVACY_MODE 0x04 |
Byte 39. | |
#define | HCI_SUP_LE_SET_MIN_NUM_OF_USED_CH 0x08 |
Byte 39. | |
Event mask | |
#define | HCI_EVT_MASK_DISCONNECT_CMPL 0x10 |
Byte 0. | |
#define | HCI_EVT_MASK_ENC_CHANGE 0x80 |
Byte 0. | |
#define | HCI_EVT_MASK_READ_REMOTE_VER_INFO_CMPL 0x08 |
Byte 1. | |
#define | HCI_EVT_MASK_HW_ERROR 0x80 |
Byte 1. | |
#define | HCI_EVT_MASK_DATA_BUF_OVERFLOW 0x02 |
Byte 3. | |
#define | HCI_EVT_MASK_ENC_KEY_REFRESH_CMPL 0x80 |
Byte 5. | |
#define | HCI_EVT_MASK_LE_META 0x20 |
Byte 7. | |
Event mask page 2 | |
#define | HCI_EVT_MASK_AUTH_PAYLOAD_TIMEOUT 0x80 |
Byte 2. | |
LE event mask | |
#define | HCI_EVT_MASK_LE_CONN_CMPL_EVT 0x01 |
Byte 0. | |
#define | HCI_EVT_MASK_LE_ADV_REPORT_EVT 0x02 |
Byte 0. | |
#define | HCI_EVT_MASK_LE_CONN_UPDATE_CMPL_EVT 0x04 |
Byte 0. | |
#define | HCI_EVT_MASK_LE_READ_REMOTE_FEAT_CMPL_EVT 0x08 |
Byte 0. | |
#define | HCI_EVT_MASK_LE_LTK_REQ_EVT 0x10 |
Byte 0. | |
#define | HCI_EVT_MASK_LE_REMOTE_CONN_PARAM_REQ_EVT 0x20 |
New in version 4.1. More... | |
#define | HCI_EVT_MASK_LE_DATA_LEN_CHANGE_EVT 0x40 |
New in version 4.2. More... | |
#define | HCI_EVT_MASK_LE_READ_LOCAL_P256_PUB_KEY_CMPL 0x80 |
Byte 0. | |
#define | HCI_EVT_MASK_LE_GENERATE_DHKEY_CMPL 0x01 |
Byte 1. | |
#define | HCI_EVT_MASK_LE_ENHANCED_CONN_CMPL_EVT 0x02 |
Byte 1. | |
#define | HCI_EVT_MASK_LE_DIRECT_ADV_REPORT_EVT 0x04 |
Byte 1. | |
#define | HCI_EVT_MASK_LE_PHY_UPDATE_CMPL_EVT 0x08 |
New in version 5.0. More... | |
#define | HCI_EVT_MASK_LE_EXT_ADV_REPORT_EVT 0x10 |
Byte 1. | |
#define | HCI_EVT_MASK_LE_PER_ADV_SYNC_EST_EVT 0x20 |
Byte 1. | |
#define | HCI_EVT_MASK_LE_PER_ADV_REPORT_EVT 0x40 |
Byte 1. | |
#define | HCI_EVT_MASK_LE_PER_ADV_SYNC_LOST_EVT 0x80 |
Byte 1. | |
#define | HCI_EVT_MASK_LE_SCAN_TIMEOUT_EVT 0x01 |
Byte 2. | |
#define | HCI_EVT_MASK_LE_ADV_SET_TERM_EVT 0x02 |
Byte 2. | |
#define | HCI_EVT_MASK_LE_SCAN_REQ_RCVD_EVT 0x04 |
Byte 2. | |
#define | HCI_EVT_MASK_LE_CH_SEL_ALGO_EVT 0x08 |
Byte 2. | |
LE supported features | |
#define | HCI_LE_SUP_FEAT_ENCRYPTION 0x0001 |
New in version 4.0. More... | |
#define | HCI_LE_SUP_FEAT_CONN_PARAM_REQ_PROC 0x0002 |
New in version 4.1. More... | |
#define | HCI_LE_SUP_FEAT_EXT_REJECT_IND 0x0004 |
Extended Reject Indication supported. | |
#define | HCI_LE_SUP_FEAT_SLV_INIT_FEAT_EXCH 0x0008 |
Slave-Initiated Features Exchange supported. | |
#define | HCI_LE_SUP_FEAT_LE_PING 0x0010 |
LE Ping supported. | |
#define | HCI_LE_SUP_FEAT_DATA_LEN_EXT 0x0020 |
New in version 4.2. More... | |
#define | HCI_LE_SUP_FEAT_PRIVACY 0x0040 |
LL Privacy supported. | |
#define | HCI_LE_SUP_FEAT_EXT_SCAN_FILT_POLICY 0x0080 |
Extended Scan Filter Policy supported. | |
#define | HCI_LE_SUP_FEAT_LE_2M_PHY 0x0100 |
New in version 5.0. More... | |
#define | HCI_LE_SUP_FEAT_STABLE_MOD_IDX_TRANSMITTER 0x0200 |
Stable Modulation Index - Transmitter supported. | |
#define | HCI_LE_SUP_FEAT_STABLE_MOD_IDX_RECEIVER 0x0400 |
Stable Modulation Index - Receiver supported. | |
#define | HCI_LE_SUP_FEAT_LE_CODED_PHY 0x0800 |
LE Coded PHY supported. | |
#define | HCI_LE_SUP_FEAT_LE_EXT_ADV 0x1000 |
LE Extended Advertising supported. | |
#define | HCI_LE_SUP_FEAT_LE_PER_ADV 0x2000 |
LE Periodic Advertising supported. | |
#define | HCI_LE_SUP_FEAT_CH_SEL_2 0x4000 |
Channel Selection Algorithm #2 supported. | |
#define | HCI_LE_SUP_FEAT_LE_POWER_CLASS_1 0x8000 |
LE Power Class 1 supported. | |
Advertising command parameters | |
#define | HCI_ADV_MIN_INTERVAL 0x0020 |
Minimum advertising interval. | |
#define | HCI_ADV_MAX_INTERVAL 0x4000 |
Maximum advertising interval. | |
#define | HCI_ADV_DIRECTED_MAX_DURATION 0x0500 |
Maximum high duty cycle connectable directed advertising duration. | |
#define | HCI_ADV_TYPE_CONN_UNDIRECT 0x00 |
Connectable undirected advertising. | |
#define | HCI_ADV_TYPE_CONN_DIRECT 0x01 |
Connectable directed high duty cycle advertising. | |
#define | HCI_ADV_TYPE_DISC_UNDIRECT 0x02 |
Discoverable undirected advertising. | |
#define | HCI_ADV_TYPE_NONCONN_UNDIRECT 0x03 |
Nonconnectable undirected advertising. | |
#define | HCI_ADV_TYPE_CONN_DIRECT_LO_DUTY 0x04 |
Connectable directed low duty cycle advertising. | |
#define | HCI_ADV_CHAN_37 0x01 |
Advertising channel 37. | |
#define | HCI_ADV_CHAN_38 0x02 |
Advertising channel 38. | |
#define | HCI_ADV_CHAN_39 0x04 |
Advertising channel 39. | |
#define | HCI_ADV_FILT_NONE 0x00 |
No scan request or connection filtering. | |
#define | HCI_ADV_FILT_SCAN 0x01 |
White list filters scan requests. | |
#define | HCI_ADV_FILT_CONN 0x02 |
White list filters connections. | |
#define | HCI_ADV_FILT_ALL 0x03 |
White list filters scan req. and conn. | |
Scan command parameters | |
#define | HCI_SCAN_TYPE_PASSIVE 0 |
Passive scan. | |
#define | HCI_SCAN_TYPE_ACTIVE 1 |
Active scan. | |
#define | HCI_SCAN_INTERVAL_MIN 0x0004 |
Minimum scan interval. | |
#define | HCI_SCAN_INTERVAL_MAX 0x4000 |
Maximum scan interval. | |
#define | HCI_SCAN_INTERVAL_DEFAULT 0x0010 |
Default scan interval. | |
#define | HCI_SCAN_WINDOW_MIN 0x0004 |
Minimum scan window. | |
#define | HCI_SCAN_WINDOW_MAX 0x4000 |
Maximum scan window. | |
#define | HCI_SCAN_WINDOW_DEFAULT 0x0010 |
Default scan window. | |
Connection command parameters | |
#define | HCI_CONN_INTERVAL_MIN 0x0006 |
Minimum connection interval. | |
#define | HCI_CONN_INTERVAL_MAX 0x0C80 |
Maximum connection interval. | |
#define | HCI_CONN_LATENCY_MAX 0x01F3 |
Maximum connection latency. | |
#define | HCI_SUP_TIMEOUT_MIN 0x000A |
Minimum supervision timeout. | |
#define | HCI_SUP_TIMEOUT_MAX 0x0C80 |
Maximum supervision timeout. | |
Misc command parameters | |
#define | HCI_ROLE_MASTER 0 |
Role is master. | |
#define | HCI_ROLE_SLAVE 1 |
Role is slave. | |
#define | HCI_READ_TX_PWR_CURRENT 0 |
Read current tx power. | |
#define | HCI_READ_TX_PWR_MAX 1 |
Read maximum tx power. | |
#define | HCI_TX_PWR_MIN -30 |
Minimum tx power dBm. | |
#define | HCI_TX_PWR_MAX 20 |
Maximum tx power dBm. | |
#define | HCI_TX_PWR_NO_PREFERENCE 127 |
Tx power no preference. | |
#define | HCI_VERSION 6 |
HCI specification version. | |
#define | HCI_RSSI_MIN -127 |
Minimum RSSI dBm. | |
#define | HCI_RSSI_MAX 20 |
Maximum RSSI dBm. | |
#define | HCI_ADDR_TYPE_PUBLIC 0 |
Public device address. | |
#define | HCI_ADDR_TYPE_RANDOM 1 |
Random device address. | |
#define | HCI_ADDR_TYPE_PUBLIC_IDENTITY 2 |
Public identity address. | |
#define | HCI_ADDR_TYPE_RANDOM_IDENTITY 3 |
Random identity address. | |
#define | HCI_ADDR_TYPE_ANONYMOUS 0xFF |
Anonymous device address. | |
#define | HCI_FILT_NONE 0 |
Accept all advertising packets. | |
#define | HCI_FILT_WHITE_LIST 1 |
Accept from While List only. | |
#define | HCI_FILT_RES_INIT 2 |
Accept directed advertisements with RPAs. | |
#define | HCI_FILT_WHITE_LIST_RES_INIT 3 |
Accept from White List or directed advertisements with RPAs. | |
#define | HCI_FILT_PER_ADV_PARAM 0 |
Listen to advertiser specified by create sync command parameters. | |
#define | HCI_FILT_PER_ADV_LIST 1 |
Listen to advertiser from Periodic Advertiser List only. | |
#define | HCI_ROLE_MASTER 0 |
Role is master. | |
#define | HCI_ROLE_SLAVE 1 |
Role is slave. | |
#define | HCI_PRIV_MODE_NETWORK 0x00 |
Network privacy mode (default) | |
#define | HCI_PRIV_MODE_DEVICE 0x01 |
Device privacy mode. | |
Connection event parameters | |
#define | HCI_CLOCK_500PPM 0x00 |
500 ppm clock accuracy | |
#define | HCI_CLOCK_250PPM 0x01 |
250 ppm clock accuracy | |
#define | HCI_CLOCK_150PPM 0x02 |
150 ppm clock accuracy | |
#define | HCI_CLOCK_100PPM 0x03 |
100 ppm clock accuracy | |
#define | HCI_CLOCK_75PPM 0x04 |
75 ppm clock accuracy | |
#define | HCI_CLOCK_50PPM 0x05 |
50 ppm clock accuracy | |
#define | HCI_CLOCK_30PPM 0x06 |
30 ppm clock accuracy | |
#define | HCI_CLOCK_20PPM 0x07 |
20 ppm clock accuracy | |
Advertising report event parameters | |
#define | HCI_ADV_CONN_UNDIRECT 0x00 |
Connectable undirected advertising. | |
#define | HCI_ADV_CONN_DIRECT 0x01 |
Connectable directed advertising. | |
#define | HCI_ADV_DISC_UNDIRECT 0x02 |
Discoverable undirected advertising. | |
#define | HCI_ADV_NONCONN_UNDIRECT 0x03 |
Non-connectable undirected advertising. | |
#define | HCI_ADV_SCAN_RESPONSE 0x04 |
Scan response. | |
Extended advertising data operations | |
#define | HCI_ADV_DATA_OP_FRAG_INTER 0x00 |
Intermediate fragment. | |
#define | HCI_ADV_DATA_OP_FRAG_FIRST 0x01 |
First fragment. | |
#define | HCI_ADV_DATA_OP_FRAG_LAST 0x02 |
Last fragment. | |
#define | HCI_ADV_DATA_OP_COMP_FRAG 0x03 |
Complete extended advertising data. | |
#define | HCI_ADV_DATA_OP_UNCHANGED_DATA 0x04 |
Unchanged data (just update Advertising DID) | |
Advertising data fragment preference | |
#define | HCI_ADV_DATA_FRAG_PREF_FRAG 0x00 |
Controller may fragment all Host advertising data. | |
#define | HCI_ADV_DATA_FRAG_PREF_NO_FRAG 0x01 |
Controller should not fragment nor minimize fragmentation of Host advertising data. | |
Number of advertising sets | |
#define | HCI_ADV_NUM_SETS_ALL_DISABLE 0x00 |
Disable all advertising sets. | |
Maximum number of scanning or initiating PHYs | |
#define | HCI_MAX_NUM_PHYS 3 |
Maximum number of scanning or initiating PHYs. | |
Advertising PHY values | |
#define | HCI_ADV_PHY_LE_1M 0x01 |
LE 1M PHY. | |
#define | HCI_ADV_PHY_LE_2M 0x02 |
LE 2M PHY. | |
#define | HCI_ADV_PHY_LE_CODED 0x03 |
LE Coded PHY. | |
Scanner PHY value bits | |
#define | HCI_SCAN_PHY_LE_1M_BIT (1<<0) |
LE 1M PHY. | |
#define | HCI_SCAN_PHY_LE_2M_BIT (1<<1) |
LE 2M PHY. | |
#define | HCI_SCAN_PHY_LE_CODED_BIT (1<<2) |
LE Coded PHY. | |
Initiator PHY value bits | |
#define | HCI_INIT_PHY_LE_1M_BIT (1<<0) |
LE 1M PHY. | |
#define | HCI_INIT_PHY_LE_2M_BIT (1<<1) |
LE 2M PHY. | |
#define | HCI_INIT_PHY_LE_CODED_BIT (1<<2) |
LE Coded PHY. | |
Advertising event properties type bits | |
#define | HCI_ADV_PROP_CONN_ADV_BIT (1<<0) |
Connectable advertising bit. | |
#define | HCI_ADV_PROP_SCAN_ADV_BIT (1<<1) |
Scannable advertising bit. | |
#define | HCI_ADV_PROP_DIRECT_ADV_BIT (1<<2) |
Directed advertising bit. | |
#define | HCI_ADV_PROP_CONN_DIRECT_ADV_BIT (1<<3) |
High duty cycle connectable directed advertising bit. | |
#define | HCI_ADV_PROP_USE_LEG_PDU_BIT (1<<4) |
Use legacy advertising PDUs bit. | |
#define | HCI_ADV_PROP_OMIT_ADV_ADDR_BIT (1<<5) |
Omit advertiser's address from all PDUs (anonymous advertising) bit. | |
#define | HCI_ADV_PROP_INC_TX_PWR_BIT (1<<6) |
Include TxPower in extended header of advertising PDU bit. | |
Advertising event properties for legacy PDUs | |
#define | HCI_ADV_PROP_LEG_CONN_UNDIRECT 0x13 |
Connectable and scannable undirected advertising (00010011b) | |
#define | HCI_ADV_PROP_LEG_CONN_DIRECT 0x1D |
Connectable directed high duty cycle advertising (00011101b) | |
#define | HCI_ADV_PROP_LEG_SCAN_UNDIRECT 0x12 |
Scannable undirected advertising (00010010b) | |
#define | HCI_ADV_PROP_LEG_NONCONN_UNDIRECT 0x10 |
Non-connectable and non-scannable undirected advertising (00010000b) | |
#define | HCI_ADV_PROP_LEG_CONN_DIRECT_LO_DUTY 0x15 |
Connectable directed low duty cycle advertising (00010101b) | |
Extended advertising report event type bits | |
#define | HCI_ADV_RPT_CONN_ADV_BIT (1<<0) |
Connectable advertising event bit. | |
#define | HCI_ADV_RPT_SCAN_ADV_BIT (1<<1) |
Scannable advertising event bit. | |
#define | HCI_ADV_RPT_DIRECT_ADV_BIT (1<<2) |
Directed advertising event bit. | |
#define | HCI_ADV_RPT_SCAN_RSP_BIT (1<<3) |
Scan response event bit. | |
#define | HCI_ADV_RPT_LEG_ADV_BIT (1<<4) |
Legacy advertising PDU event bit. | |
#define | HCI_ADV_RPT_DATA_STATUS_BITS (3<<5) |
Data status bits. | |
Advertising report event types for legacy PDUs | |
#define | HCI_ADV_RPT_LEG_CONN_UNDIRECT 0x13 |
Connectable and scannable undirected advertising (0010011b) | |
#define | HCI_ADV_RPT_LEG_CONN_DIRECT 0x15 |
Connectable directed advertising (0010101b) | |
#define | HCI_ADV_RPT_LEG_SCAN_UNDIRECT 0x12 |
Scannable undirected advertising (0010010b) | |
#define | HCI_ADV_RPT_LEG_NONCONN_UNDIRECT 0x10 |
Non-connectable and non-scannable undirected advertising (0010000b) | |
#define | HCI_ADV_RPT_LEG_CONN_UNDIRECT_SCAN_RSP 0x1B |
Scan response to connectable and scannable undirected advertising (0011011b) | |
#define | HCI_ADV_RPT_LEG_SCAN_UNDIRECT_SCAN_RSP 0x1A |
Scan response to scannable undirected advertising (0011010b) | |
Advertising report data status | |
#define | HCI_ADV_RPT_DATA_CMPL 0x00 |
Data complete. | |
#define | HCI_ADV_RPT_DATA_INCMPL_MORE 0x01 |
Data incomplete, more date to come. | |
#define | HCI_ADV_RPT_DATA_INCMPL_TRUNC 0x02 |
Data incomplete, data truncated, no more date to come. | |
Extended advertising report event primary PHY values | |
#define | HCI_ADV_RPT_PHY_PRIM_LE_1M 0x01 |
Advertiser PHY is LE 1M. | |
#define | HCI_ADV_RPT_PHY_PRIM_LE_CODED 0x03 |
Advertiser PHY is LE Coded. | |
Extended advertising report event seconday PHY values | |
#define | HCI_ADV_RPT_PHY_SEC_NONE 0x00 |
No packets on seconday advertising channel. | |
#define | HCI_ADV_RPT_PHY_SEC_LE_1M 0x01 |
Advertiser PHY is LE 1M. | |
#define | HCI_ADV_RPT_PHY_SEC_LE_2M 0x02 |
Advertiser PHY is LE 2M. | |
#define | HCI_ADV_RPT_PHY_SEC_LE_CODED 0x03 |
Advertiser PHY is LE Coded. | |
Channel selection algorithm used | |
#define | HCI_CH_SEL_ALGO_1 0x00 |
LE channel selection algorithm #1 used. | |
#define | HCI_CH_SEL_ALGO_2 0x01 |
LE channel selection algorithm #2 used. | |
Minimum number of used channels | |
#define | HCI_MIN_NUM_OF_USED_CHAN 8 |
Minimum number of used channels. | |
PHY types | |
#define | HCI_PHY_NONE 0x00 |
No selected PHY. | |
#define | HCI_PHY_LE_1M_BIT (1<<0) |
LE 1M PHY. | |
#define | HCI_PHY_LE_2M_BIT (1<<1) |
LE 2M PHY. | |
#define | HCI_PHY_LE_CODED_BIT (1<<2) |
LE Coded PHY. | |
All PHYs preference | |
#define | HCI_ALL_PHY_ALL_PREFERENCES 0x00 |
All PHY preferences. | |
#define | HCI_ALL_PHY_TX_PREFERENCE_BIT (1<<0) |
Tx PHY preference. | |
#define | HCI_ALL_PHY_RX_PREFERENCE_BIT (1<<1) |
Rx PHY preference. | |
PHY options | |
#define | HCI_PHY_OPTIONS_NONE 0x00 |
No preferences. | |
#define | HCI_PHY_OPTIONS_S2_PREFERRED 0x01 |
S=2 coding preferred when transmitting on LE Coded PHY. | |
#define | HCI_PHY_OPTIONS_S8_PREFERRED 0x02 |
S=8 coding preferred when transmitting on LE Coded PHY. | |
Parameter lengths | |
#define | HCI_EVT_MASK_LEN 8 |
Length of event mask byte array. | |
#define | HCI_EVT_MASK_PAGE_2_LEN 8 |
Length of event mask page 2 byte array. | |
#define | HCI_LE_EVT_MASK_LEN 8 |
Length of LE event mask byte array. | |
#define | HCI_FEAT_LEN 8 |
Length of features byte array. | |
#define | HCI_ADV_DATA_LEN 31 |
Length of advertising data. | |
#define | HCI_SCAN_DATA_LEN 31 |
Length of scan response data. | |
#define | HCI_EXT_ADV_DATA_LEN 251 |
Length of extended advertising data. | |
#define | HCI_PER_ADV_DATA_LEN 252 |
Length of periodic advertising data. | |
#define | HCI_EXT_ADV_RPT_DATA_LEN 229 |
Length of extended advertising report data. | |
#define | HCI_PER_ADV_RPT_DATA_LEN 248 |
Length of periodic advertising report data. | |
#define | HCI_CHAN_MAP_LEN 5 |
Length of channel map byte array. | |
#define | HCI_KEY_LEN 16 |
Length of encryption key. | |
#define | HCI_ENCRYPT_DATA_LEN 16 |
Length of data used in encryption. | |
#define | HCI_RAND_LEN 8 |
Length of random number. | |
#define | HCI_LE_STATES_LEN 8 |
Length of LE states byte array. | |
#define | HCI_P256_KEY_LEN 64 |
Length of P256 key. | |
#define | HCI_DH_KEY_LEN 32 |
Length of DH Key. | |
#define | HCI_EXT_ADV_RPT_DATA_LEN_OFFSET 23 |
Length field offset of extended advertising report data. | |
#define | HCI_PER_ADV_RPT_DATA_LEN_OFFSET 6 |
Length field offset of periodic advertising report data. | |
Company ID | |
#define | HCI_ID_ARM 0x005F |
ARM Ltd. company ID. | |
Manufacturer location in Local version | |
#define | HCI_LOCAL_VER_MANUFACTURER_POS 4 |
HCI constants and definitions from the Bluetooth specification.
Copyright (c) 2009-2018 ARM Ltd. All Rights Reserved. ARM Ltd. confidential and proprietary.
IMPORTANT. Your use of this file is governed by a Software License Agreement ("Agreement") that must be accepted in order to download or otherwise receive a copy of this file. You may not use or copy this file for any purpose other than as described in the Agreement. If you do not agree to all of the terms of the Agreement do not use this file and delete all copies in your possession or control; if you do not have a copy of the Agreement, you must contact ARM Ltd. prior to any use, copying or further distribution of this software.
Definition in file hci_defs.h.