Direct-BT  2.3.1
Direct-BT - Direct Bluetooth Programming.
Classes | Namespaces | Enumerations | Functions
HCITypes.hpp File Reference
#include <cstring>
#include <string>
#include <cstdint>
#include <algorithm>
#include <mutex>
#include <jau/basic_types.hpp>
#include "BTTypes0.hpp"
#include "BTIoctl.hpp"
#include "OctetTypes.hpp"
#include "HCIIoctl.hpp"
#include "SMPTypes.hpp"
Include dependency graph for HCITypes.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  direct_bt::HCIException
 
class  direct_bt::HCIPacketException
 
class  direct_bt::HCIOpcodeException
 
class  direct_bt::HCIPacket
 BT Core Spec v5.2: Vol 4, Part E HCI: 5.4 Exchange of HCI-specific information. More...
 
class  direct_bt::HCICommand
 BT Core Spec v5.2: Vol 4, Part E HCI: 5.4.1 HCI Command packet. More...
 
class  direct_bt::HCIDisconnectCmd
 BT Core Spec v5.2: Vol 4, Part E HCI: 7.1.6 Disconnect command. More...
 
class  direct_bt::HCIStructCommand< hcistruct >
 Generic HCICommand wrapper for any HCI IOCTL structure. More...
 
class  direct_bt::HCIACLData
 BT Core Spec v5.2: Vol 4, Part E HCI: 5.4.2 HCI ACL Data packets. More...
 
struct  direct_bt::HCIACLData::l2cap_frame
 Representing ACL Datas' L2CAP Frame. More...
 
class  direct_bt::HCIEvent
 BT Core Spec v5.2: Vol 4, Part E HCI: 5.4.4 HCI Event packet. More...
 
class  direct_bt::HCIStructCmdCompleteEvtWrap< hcistruct >
 Generic HCIEvent wrapper for any HCI IOCTL 'command complete' alike event struct having a HCIStatusCode uint8_t status field. More...
 
class  direct_bt::HCIDisconnectionCompleteEvent
 BT Core Spec v5.2: Vol 4, Part E HCI: 7.7.5 Disconnection Complete event. More...
 
class  direct_bt::HCICommandCompleteEvent
 BT Core Spec v5.2: Vol 4, Part E HCI: 7.7.14 Command Complete event. More...
 
class  direct_bt::HCICommandStatusEvent
 BT Core Spec v5.2: Vol 4, Part E HCI: 7.7.15 Command Status event. More...
 
class  direct_bt::HCIMetaEvent
 BT Core Spec v5.2: Vol 4, Part E HCI: 7.7.65 LE Meta event. More...
 
class  direct_bt::HCIStructCmdCompleteMetaEvtWrap< hcistruct >
 Generic HCIMetaEvent wrapper for any HCI IOCTL 'command complete' alike meta event struct having a HCIStatusCode uint8_t status field. More...
 
struct  direct_bt::HCILocalVersion
 

Namespaces

 direct_bt
 

Enumerations

enum  direct_bt::HCIConstInt : int32_t { direct_bt::HCIConstInt::LE_CONN_MIN_TIMEOUT_MS = 500 }
 
enum  direct_bt::HCIConstU16 : uint16_t { direct_bt::HCIConstU16::INDEX_NONE = 0xFFFF, direct_bt::HCIConstU16::MAX_NAME_LENGTH = 248, direct_bt::HCIConstU16::MAX_SHORT_NAME_LENGTH = 10, direct_bt::HCIConstU16::MAX_AD_LENGTH = 31 }
 
enum  direct_bt::HCIStatusCode : uint8_t {
  direct_bt::HCIStatusCode::SUCCESS = 0x00, direct_bt::HCIStatusCode::UNKNOWN_HCI_COMMAND = 0x01, direct_bt::HCIStatusCode::UNKNOWN_CONNECTION_IDENTIFIER = 0x02, direct_bt::HCIStatusCode::HARDWARE_FAILURE = 0x03,
  direct_bt::HCIStatusCode::PAGE_TIMEOUT = 0x04, direct_bt::HCIStatusCode::AUTHENTICATION_FAILURE = 0x05, direct_bt::HCIStatusCode::PIN_OR_KEY_MISSING = 0x06, direct_bt::HCIStatusCode::MEMORY_CAPACITY_EXCEEDED = 0x07,
  direct_bt::HCIStatusCode::CONNECTION_TIMEOUT = 0x08, direct_bt::HCIStatusCode::CONNECTION_LIMIT_EXCEEDED = 0x09, direct_bt::HCIStatusCode::SYNC_DEVICE_CONNECTION_LIMIT_EXCEEDED = 0x0a, direct_bt::HCIStatusCode::CONNECTION_ALREADY_EXISTS = 0x0b,
  direct_bt::HCIStatusCode::COMMAND_DISALLOWED = 0x0c, direct_bt::HCIStatusCode::CONNECTION_REJECTED_LIMITED_RESOURCES = 0x0d, direct_bt::HCIStatusCode::CONNECTION_REJECTED_SECURITY = 0x0e, direct_bt::HCIStatusCode::CONNECTION_REJECTED_UNACCEPTABLE_BD_ADDR = 0x0f,
  direct_bt::HCIStatusCode::CONNECTION_ACCEPT_TIMEOUT_EXCEEDED = 0x10, direct_bt::HCIStatusCode::UNSUPPORTED_FEATURE_OR_PARAM_VALUE = 0x11, direct_bt::HCIStatusCode::INVALID_HCI_COMMAND_PARAMETERS = 0x12, direct_bt::HCIStatusCode::REMOTE_USER_TERMINATED_CONNECTION = 0x13,
  direct_bt::HCIStatusCode::REMOTE_DEVICE_TERMINATED_CONNECTION_LOW_RESOURCES = 0x14, direct_bt::HCIStatusCode::REMOTE_DEVICE_TERMINATED_CONNECTION_POWER_OFF = 0x15, direct_bt::HCIStatusCode::CONNECTION_TERMINATED_BY_LOCAL_HOST = 0x16, direct_bt::HCIStatusCode::REPEATED_ATTEMPTS = 0x17,
  direct_bt::HCIStatusCode::PAIRING_NOT_ALLOWED = 0x18, direct_bt::HCIStatusCode::UNKNOWN_LMP_PDU = 0x19, direct_bt::HCIStatusCode::UNSUPPORTED_REMOTE_OR_LMP_FEATURE = 0x1a, direct_bt::HCIStatusCode::SCO_OFFSET_REJECTED = 0x1b,
  direct_bt::HCIStatusCode::SCO_INTERVAL_REJECTED = 0x1c, direct_bt::HCIStatusCode::SCO_AIR_MODE_REJECTED = 0x1d, direct_bt::HCIStatusCode::INVALID_LMP_OR_LL_PARAMETERS = 0x1e, direct_bt::HCIStatusCode::UNSPECIFIED_ERROR = 0x1f,
  direct_bt::HCIStatusCode::UNSUPPORTED_LMP_OR_LL_PARAMETER_VALUE = 0x20, direct_bt::HCIStatusCode::ROLE_CHANGE_NOT_ALLOWED = 0x21, direct_bt::HCIStatusCode::LMP_OR_LL_RESPONSE_TIMEOUT = 0x22, direct_bt::HCIStatusCode::LMP_OR_LL_COLLISION = 0x23,
  direct_bt::HCIStatusCode::LMP_PDU_NOT_ALLOWED = 0x24, direct_bt::HCIStatusCode::ENCRYPTION_MODE_NOT_ACCEPTED = 0x25, direct_bt::HCIStatusCode::LINK_KEY_CANNOT_BE_CHANGED = 0x26, direct_bt::HCIStatusCode::REQUESTED_QOS_NOT_SUPPORTED = 0x27,
  direct_bt::HCIStatusCode::INSTANT_PASSED = 0x28, direct_bt::HCIStatusCode::PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = 0x29, direct_bt::HCIStatusCode::DIFFERENT_TRANSACTION_COLLISION = 0x2a, direct_bt::HCIStatusCode::QOS_UNACCEPTABLE_PARAMETER = 0x2c,
  direct_bt::HCIStatusCode::QOS_REJECTED = 0x2d, direct_bt::HCIStatusCode::CHANNEL_ASSESSMENT_NOT_SUPPORTED = 0x2e, direct_bt::HCIStatusCode::INSUFFICIENT_SECURITY = 0x2f, direct_bt::HCIStatusCode::PARAMETER_OUT_OF_RANGE = 0x30,
  direct_bt::HCIStatusCode::ROLE_SWITCH_PENDING = 0x32, direct_bt::HCIStatusCode::RESERVED_SLOT_VIOLATION = 0x34, direct_bt::HCIStatusCode::ROLE_SWITCH_FAILED = 0x35, direct_bt::HCIStatusCode::EIR_TOO_LARGE = 0x36,
  direct_bt::HCIStatusCode::SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST = 0x37, direct_bt::HCIStatusCode::HOST_BUSY_PAIRING = 0x38, direct_bt::HCIStatusCode::CONNECTION_REJECTED_NO_SUITABLE_CHANNEL = 0x39, direct_bt::HCIStatusCode::CONTROLLER_BUSY = 0x3a,
  direct_bt::HCIStatusCode::UNACCEPTABLE_CONNECTION_PARAM = 0x3b, direct_bt::HCIStatusCode::ADVERTISING_TIMEOUT = 0x3c, direct_bt::HCIStatusCode::CONNECTION_TERMINATED_MIC_FAILURE = 0x3d, direct_bt::HCIStatusCode::CONNECTION_EST_FAILED_OR_SYNC_TIMEOUT = 0x3e,
  direct_bt::HCIStatusCode::MAX_CONNECTION_FAILED = 0x3f, direct_bt::HCIStatusCode::COARSE_CLOCK_ADJ_REJECTED = 0x40, direct_bt::HCIStatusCode::TYPE0_SUBMAP_NOT_DEFINED = 0x41, direct_bt::HCIStatusCode::UNKNOWN_ADVERTISING_IDENTIFIER = 0x42,
  direct_bt::HCIStatusCode::LIMIT_REACHED = 0x43, direct_bt::HCIStatusCode::OPERATION_CANCELLED_BY_HOST = 0x44, direct_bt::HCIStatusCode::PACKET_TOO_LONG = 0x45, direct_bt::HCIStatusCode::FAILED = 0xc3,
  direct_bt::HCIStatusCode::CONNECT_FAILED = 0xc4, direct_bt::HCIStatusCode::AUTH_FAILED = 0xc5, direct_bt::HCIStatusCode::NOT_PAIRED = 0xc6, direct_bt::HCIStatusCode::NO_RESOURCES = 0xc7,
  direct_bt::HCIStatusCode::TIMEOUT = 0xc8, direct_bt::HCIStatusCode::ALREADY_CONNECTED = 0xc9, direct_bt::HCIStatusCode::BUSY = 0xca, direct_bt::HCIStatusCode::REJECTED = 0xcb,
  direct_bt::HCIStatusCode::NOT_SUPPORTED = 0xcc, direct_bt::HCIStatusCode::INVALID_PARAMS = 0xcd, direct_bt::HCIStatusCode::DISCONNECTED = 0xce, direct_bt::HCIStatusCode::NOT_POWERED = 0xcf,
  direct_bt::HCIStatusCode::CANCELLED = 0xd0, direct_bt::HCIStatusCode::INVALID_INDEX = 0xd1, direct_bt::HCIStatusCode::RFKILLED = 0xd2, direct_bt::HCIStatusCode::ALREADY_PAIRED = 0xd3,
  direct_bt::HCIStatusCode::PERMISSION_DENIED = 0xd4, direct_bt::HCIStatusCode::INTERNAL_TIMEOUT = 0xfd, direct_bt::HCIStatusCode::INTERNAL_FAILURE = 0xfe, direct_bt::HCIStatusCode::UNKNOWN = 0xff
}
 BT Core Spec v5.2: Vol 1, Part F Controller Error Codes: 1.3 List of Error Codes. More...
 
enum  direct_bt::HCIConstSizeT : jau::nsize_t {
  direct_bt::HCIConstSizeT::COMMAND_HDR_SIZE = 1+3, direct_bt::HCIConstSizeT::ACL_HDR_SIZE = 1+4, direct_bt::HCIConstSizeT::SCO_HDR_SIZE = 1+3, direct_bt::HCIConstSizeT::EVENT_HDR_SIZE = 1+2,
  direct_bt::HCIConstSizeT::PACKET_MAX_SIZE = 255
}
 
enum  direct_bt::HCIPacketType : uint8_t {
  direct_bt::HCIPacketType::COMMAND = 0x01, direct_bt::HCIPacketType::ACLDATA = 0x02, direct_bt::HCIPacketType::SCODATA = 0x03, direct_bt::HCIPacketType::EVENT = 0x04,
  direct_bt::HCIPacketType::DIAG = 0xf0, direct_bt::HCIPacketType::VENDOR = 0xff
}
 
enum  direct_bt::HCIOGF : uint8_t { direct_bt::HCIOGF::LINK_CTL = 0x01, direct_bt::HCIOGF::LINK_POLICY = 0x02, direct_bt::HCIOGF::BREDR_CTL = 0x03, direct_bt::HCIOGF::LE_CTL = 0x08 }
 
enum  direct_bt::HCIEventType : uint8_t {
  direct_bt::HCIEventType::INVALID = 0x00, direct_bt::HCIEventType::INQUIRY_COMPLETE = 0x01, direct_bt::HCIEventType::INQUIRY_RESULT = 0x02, direct_bt::HCIEventType::CONN_COMPLETE = 0x03,
  direct_bt::HCIEventType::CONN_REQUEST = 0x04, direct_bt::HCIEventType::DISCONN_COMPLETE = 0x05, direct_bt::HCIEventType::AUTH_COMPLETE = 0x06, direct_bt::HCIEventType::REMOTE_NAME = 0x07,
  direct_bt::HCIEventType::ENCRYPT_CHANGE = 0x08, direct_bt::HCIEventType::CHANGE_LINK_KEY_COMPLETE = 0x09, direct_bt::HCIEventType::REMOTE_FEATURES = 0x0b, direct_bt::HCIEventType::REMOTE_VERSION = 0x0c,
  direct_bt::HCIEventType::QOS_SETUP_COMPLETE = 0x0d, direct_bt::HCIEventType::CMD_COMPLETE = 0x0e, direct_bt::HCIEventType::CMD_STATUS = 0x0f, direct_bt::HCIEventType::HARDWARE_ERROR = 0x10,
  direct_bt::HCIEventType::ROLE_CHANGE = 0x12, direct_bt::HCIEventType::NUM_COMP_PKTS = 0x13, direct_bt::HCIEventType::MODE_CHANGE = 0x14, direct_bt::HCIEventType::PIN_CODE_REQ = 0x16,
  direct_bt::HCIEventType::LINK_KEY_REQ = 0x17, direct_bt::HCIEventType::LINK_KEY_NOTIFY = 0x18, direct_bt::HCIEventType::CLOCK_OFFSET = 0x1c, direct_bt::HCIEventType::PKT_TYPE_CHANGE = 0x1d,
  direct_bt::HCIEventType::ENCRYPT_KEY_REFRESH_COMPLETE = 0x30, direct_bt::HCIEventType::IO_CAPABILITY_REQUEST = 0x31, direct_bt::HCIEventType::IO_CAPABILITY_RESPONSE = 0x32, direct_bt::HCIEventType::LE_META = 0x3e,
  direct_bt::HCIEventType::DISCONN_PHY_LINK_COMPLETE = 0x42, direct_bt::HCIEventType::DISCONN_LOGICAL_LINK_COMPLETE = 0x46, direct_bt::HCIEventType::AMP_Receiver_Report = 0x4b
}
 BT Core Spec v5.2: Vol 4, Part E HCI: 7.7 Events. More...
 
enum  direct_bt::HCIMetaEventType : uint8_t {
  direct_bt::HCIMetaEventType::INVALID = 0x00, direct_bt::HCIMetaEventType::LE_CONN_COMPLETE = 0x01, direct_bt::HCIMetaEventType::LE_ADVERTISING_REPORT = 0x02, direct_bt::HCIMetaEventType::LE_CONN_UPDATE_COMPLETE = 0x03,
  direct_bt::HCIMetaEventType::LE_REMOTE_FEAT_COMPLETE = 0x04, direct_bt::HCIMetaEventType::LE_LTKEY_REQUEST = 0x05, direct_bt::HCIMetaEventType::LE_REMOTE_CONN_PARAM_REQ = 0x06, direct_bt::HCIMetaEventType::LE_DATA_LENGTH_CHANGE = 0x07,
  direct_bt::HCIMetaEventType::LE_READ_LOCAL_P256_PUBKEY_COMPLETE = 0x08, direct_bt::HCIMetaEventType::LE_GENERATE_DHKEY_COMPLETE = 0x09, direct_bt::HCIMetaEventType::LE_EXT_CONN_COMPLETE = 0x0A, direct_bt::HCIMetaEventType::LE_DIRECT_ADV_REPORT = 0x0B,
  direct_bt::HCIMetaEventType::LE_PHY_UPDATE_COMPLETE = 0x0C, direct_bt::HCIMetaEventType::LE_EXT_ADV_REPORT = 0x0D, direct_bt::HCIMetaEventType::LE_PERIODIC_ADV_SYNC_ESTABLISHED = 0x0E, direct_bt::HCIMetaEventType::LE_PERIODIC_ADV_REPORT = 0x0F,
  direct_bt::HCIMetaEventType::LE_PERIODIC_ADV_SYNC_LOST = 0x10, direct_bt::HCIMetaEventType::LE_SCAN_TIMEOUT = 0x11, direct_bt::HCIMetaEventType::LE_ADV_SET_TERMINATED = 0x12, direct_bt::HCIMetaEventType::LE_SCAN_REQ_RECEIVED = 0x13,
  direct_bt::HCIMetaEventType::LE_CHANNEL_SEL_ALGO = 0x14, direct_bt::HCIMetaEventType::LE_CONNLESS_IQ_REPORT = 0x15, direct_bt::HCIMetaEventType::LE_CONN_IQ_REPORT = 0x16, direct_bt::HCIMetaEventType::LE_CTE_REQ_FAILED = 0x17,
  direct_bt::HCIMetaEventType::LE_PERIODIC_ADV_SYNC_TRANSFER_RECV = 0x18, direct_bt::HCIMetaEventType::LE_CIS_ESTABLISHED = 0x19, direct_bt::HCIMetaEventType::LE_CIS_REQUEST = 0x1A, direct_bt::HCIMetaEventType::LE_CREATE_BIG_COMPLETE = 0x1B,
  direct_bt::HCIMetaEventType::LE_TERMINATE_BIG_COMPLETE = 0x1C, direct_bt::HCIMetaEventType::LE_BIG_SYNC_ESTABLISHED = 0x1D, direct_bt::HCIMetaEventType::LE_BIG_SYNC_LOST = 0x1E, direct_bt::HCIMetaEventType::LE_REQUEST_PEER_SCA_COMPLETE = 0x1F,
  direct_bt::HCIMetaEventType::LE_PATH_LOSS_THRESHOLD = 0x20, direct_bt::HCIMetaEventType::LE_TRANSMIT_POWER_REPORTING = 0x21, direct_bt::HCIMetaEventType::LE_BIGINFO_ADV_REPORT = 0x22
}
 BT Core Spec v5.2: Vol 4, Part E HCI: 7.7.65 LE Meta event. More...
 
enum  direct_bt::HCIOpcode : uint16_t {
  direct_bt::HCIOpcode::SPECIAL = 0x0000, direct_bt::HCIOpcode::CREATE_CONN = 0x0405, direct_bt::HCIOpcode::DISCONNECT = 0x0406, direct_bt::HCIOpcode::IO_CAPABILITY_REQ_REPLY = 0x042b,
  direct_bt::HCIOpcode::IO_CAPABILITY_REQ_NEG_REPLY = 0x0434, direct_bt::HCIOpcode::SET_EVENT_MASK = 0x0C01, direct_bt::HCIOpcode::RESET = 0x0C03, direct_bt::HCIOpcode::READ_LOCAL_VERSION = 0x1001,
  direct_bt::HCIOpcode::READ_LOCAL_COMMANDS = 0x1002, direct_bt::HCIOpcode::LE_SET_EVENT_MASK = 0x2001, direct_bt::HCIOpcode::LE_READ_BUFFER_SIZE = 0x2002, direct_bt::HCIOpcode::LE_READ_LOCAL_FEATURES = 0x2003,
  direct_bt::HCIOpcode::LE_SET_RANDOM_ADDR = 0x2005, direct_bt::HCIOpcode::LE_SET_ADV_PARAM = 0x2006, direct_bt::HCIOpcode::LE_READ_ADV_TX_POWER = 0x2007, direct_bt::HCIOpcode::LE_SET_ADV_DATA = 0x2008,
  direct_bt::HCIOpcode::LE_SET_SCAN_RSP_DATA = 0x2009, direct_bt::HCIOpcode::LE_SET_ADV_ENABLE = 0x200a, direct_bt::HCIOpcode::LE_SET_SCAN_PARAM = 0x200b, direct_bt::HCIOpcode::LE_SET_SCAN_ENABLE = 0x200c,
  direct_bt::HCIOpcode::LE_CREATE_CONN = 0x200d, direct_bt::HCIOpcode::LE_CREATE_CONN_CANCEL = 0x200e, direct_bt::HCIOpcode::LE_READ_WHITE_LIST_SIZE = 0x200f, direct_bt::HCIOpcode::LE_CLEAR_WHITE_LIST = 0x2010,
  direct_bt::HCIOpcode::LE_ADD_TO_WHITE_LIST = 0x2011, direct_bt::HCIOpcode::LE_DEL_FROM_WHITE_LIST = 0x2012, direct_bt::HCIOpcode::LE_CONN_UPDATE = 0x2013, direct_bt::HCIOpcode::LE_READ_REMOTE_FEATURES = 0x2016,
  direct_bt::HCIOpcode::LE_ENABLE_ENC = 0x2019, direct_bt::HCIOpcode::LE_READ_PHY = 0x2030, direct_bt::HCIOpcode::LE_SET_DEFAULT_PHY = 0x2031, direct_bt::HCIOpcode::LE_SET_EXT_SCAN_PARAMS = 0x2041,
  direct_bt::HCIOpcode::LE_SET_EXT_SCAN_ENABLE = 0x2042, direct_bt::HCIOpcode::LE_EXT_CREATE_CONN = 0x2043
}
 BT Core Spec v5.2: Vol 4, Part E HCI: 7.1 Link Controller commands. More...
 
enum  direct_bt::HCIOpcodeBit : uint8_t {
  direct_bt::HCIOpcodeBit::SPECIAL = 0, direct_bt::HCIOpcodeBit::CREATE_CONN = 3, direct_bt::HCIOpcodeBit::DISCONNECT = 4, direct_bt::HCIOpcodeBit::IO_CAPABILITY_REQ_REPLY = 5,
  direct_bt::HCIOpcodeBit::IO_CAPABILITY_REQ_NEG_REPLY = 6, direct_bt::HCIOpcodeBit::SET_EVENT_MASK = 7, direct_bt::HCIOpcodeBit::RESET = 8, direct_bt::HCIOpcodeBit::READ_LOCAL_VERSION = 10,
  direct_bt::HCIOpcodeBit::READ_LOCAL_COMMANDS = 11, direct_bt::HCIOpcodeBit::LE_SET_EVENT_MASK = 20, direct_bt::HCIOpcodeBit::LE_READ_BUFFER_SIZE = 21, direct_bt::HCIOpcodeBit::LE_READ_LOCAL_FEATURES = 22,
  direct_bt::HCIOpcodeBit::LE_SET_RANDOM_ADDR = 23, direct_bt::HCIOpcodeBit::LE_SET_ADV_PARAM = 24, direct_bt::HCIOpcodeBit::LE_READ_ADV_TX_POWER = 25, direct_bt::HCIOpcodeBit::LE_SET_ADV_DATA = 26,
  direct_bt::HCIOpcodeBit::LE_SET_SCAN_RSP_DATA = 27, direct_bt::HCIOpcodeBit::LE_SET_ADV_ENABLE = 28, direct_bt::HCIOpcodeBit::LE_SET_SCAN_PARAM = 29, direct_bt::HCIOpcodeBit::LE_SET_SCAN_ENABLE = 30,
  direct_bt::HCIOpcodeBit::LE_CREATE_CONN = 31, direct_bt::HCIOpcodeBit::LE_CREATE_CONN_CANCEL = 32, direct_bt::HCIOpcodeBit::LE_READ_WHITE_LIST_SIZE = 33, direct_bt::HCIOpcodeBit::LE_CLEAR_WHITE_LIST = 34,
  direct_bt::HCIOpcodeBit::LE_ADD_TO_WHITE_LIST = 35, direct_bt::HCIOpcodeBit::LE_DEL_FROM_WHITE_LIST = 36, direct_bt::HCIOpcodeBit::LE_CONN_UPDATE = 37, direct_bt::HCIOpcodeBit::LE_READ_REMOTE_FEATURES = 38,
  direct_bt::HCIOpcodeBit::LE_ENABLE_ENC = 39, direct_bt::HCIOpcodeBit::LE_READ_PHY = 40, direct_bt::HCIOpcodeBit::LE_SET_DEFAULT_PHY = 41, direct_bt::HCIOpcodeBit::LE_SET_EXT_SCAN_PARAMS = 42,
  direct_bt::HCIOpcodeBit::LE_SET_EXT_SCAN_ENABLE = 43, direct_bt::HCIOpcodeBit::LE_EXT_CREATE_CONN = 44
}
 

Functions

constexpr int32_t direct_bt::number (const HCIConstInt rhs) noexcept
 
constexpr int32_t direct_bt::getHCIConnSupervisorTimeout (const uint16_t conn_latency, const uint16_t conn_interval_max_ms, const uint16_t min_result_ms=number(HCIConstInt::LE_CONN_MIN_TIMEOUT_MS), const uint16_t multiplier=10) noexcept
 Defining the supervising timeout for LE connections to be a multiple of the maximum connection interval as follows: More...
 
constexpr uint16_t direct_bt::number (const HCIConstU16 rhs) noexcept
 
constexpr uint8_t direct_bt::number (const HCIStatusCode rhs) noexcept
 
std::string direct_bt::to_string (const HCIStatusCode ec) noexcept
 
constexpr jau::nsize_t direct_bt::number (const HCIConstSizeT rhs) noexcept
 
constexpr uint8_t direct_bt::number (const HCIPacketType rhs) noexcept
 
std::string direct_bt::to_string (const HCIPacketType op) noexcept
 
constexpr uint8_t direct_bt::number (const HCIOGF rhs) noexcept
 
std::string direct_bt::to_string (const HCIOGF op) noexcept
 
constexpr uint8_t direct_bt::number (const HCIEventType rhs) noexcept
 
std::string direct_bt::to_string (const HCIEventType op) noexcept
 
constexpr uint8_t direct_bt::number (const HCIMetaEventType rhs) noexcept
 
std::string direct_bt::to_string (const HCIMetaEventType op) noexcept
 
constexpr uint16_t direct_bt::number (const HCIOpcode rhs) noexcept
 
std::string direct_bt::to_string (const HCIOpcode op) noexcept
 
constexpr uint8_t direct_bt::number (const HCIOpcodeBit rhs) noexcept
 
std::string direct_bt::to_string (const HCIPacket &p) noexcept