![]() |
Cordio Stack and Cordio Profiles
r2p3-02rel0
|
Data Structures | |
struct | hciEvtStats_t |
HCI event statistics. More... | |
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 |
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 |
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_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_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. | |
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 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. | |
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. | |
Misc command parameters | |
#define | HCI_ROLE_MASTER 0 |
Role is master. | |
#define | HCI_ROLE_MASTER 0 |
Role is master. | |
#define | HCI_ROLE_SLAVE 1 |
Role is slave. | |
#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_PRIV_MODE_NETWORK 0x00 |
Network privacy mode (default) | |
#define | HCI_PRIV_MODE_DEVICE 0x01 |
Device privacy mode. | |
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 |
#define HCI_LEN_LE_REM_CONN_PARAM_REQ 11 |
New in version 4.1.
Remote connection parameter event length.
Definition at line 571 of file hci_defs.h.
#define HCI_LEN_LE_PHY_UPDATE_CMPL 6 |
#define HCI_LEN_LE_PHY_UPDATE_CMPL 6 |
#define HCI_SUP_LE_REM_CONN_PARAM_REQ_REPL 0x10 |
#define HCI_SUP_LE_SET_DATA_LEN 0x40 |
#define HCI_SUP_LE_READ_PHY 0x10 |
#define HCI_EVT_MASK_LE_REMOTE_CONN_PARAM_REQ_EVT 0x20 |
#define HCI_EVT_MASK_LE_DATA_LEN_CHANGE_EVT 0x40 |
#define HCI_EVT_MASK_LE_PHY_UPDATE_CMPL_EVT 0x08 |
#define HCI_LE_SUP_FEAT_ENCRYPTION 0x0001 |
#define HCI_LE_SUP_FEAT_CONN_PARAM_REQ_PROC 0x0002 |
New in version 4.1.
Connection Parameters Request Procedure supported
Definition at line 746 of file hci_defs.h.
#define HCI_LE_SUP_FEAT_DATA_LEN_EXT 0x0020 |
#define HCI_LE_SUP_FEAT_LE_2M_PHY 0x0100 |