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

Go to the source code of this file.

Classes

class  direct_bt::BTException
 
class  direct_bt::ManufactureSpecificData
 
class  direct_bt::EInfoReport
 Collection of 'Extended Advertising Data' (EAD), 'Advertising Data' (AD) or 'Extended Inquiry Response' (EIR) information. More...
 

Namespaces

 direct_bt
 

Enumerations

enum  direct_bt::BTMode : uint8_t { direct_bt::BTMode::NONE = 0, direct_bt::BTMode::DUAL = 1, direct_bt::BTMode::BREDR = 2, direct_bt::BTMode::LE = 3 }
 Bluetooth adapter operating mode. More...
 
enum  direct_bt::LE_Features : uint64_t {
  direct_bt::LE_Features::NONE = 0, direct_bt::LE_Features::LE_Encryption = 0b0000000000000000000000000000000000000000000000000000000000000001, direct_bt::LE_Features::Conn_Param_Req_Proc = 0b0000000000000000000000000000000000000000000000000000000000000010, direct_bt::LE_Features::Ext_Rej_Ind = 0b0000000000000000000000000000000000000000000000000000000000000100,
  direct_bt::LE_Features::SlaveInit_Feat_Exchg = 0b0000000000000000000000000000000000000000000000000000000000001000, direct_bt::LE_Features::LE_Ping = 0b0000000000000000000000000000000000000000000000000000000000010000, direct_bt::LE_Features::LE_Data_Pkt_Len_Ext = 0b0000000000000000000000000000000000000000000000000000000000100000, direct_bt::LE_Features::LL_Privacy = 0b0000000000000000000000000000000000000000000000000000000001000000,
  direct_bt::LE_Features::Ext_Scan_Filter_Pol = 0b0000000000000000000000000000000000000000000000000000000010000000, direct_bt::LE_Features::LE_2M_PHY = 0b0000000000000000000000000000000000000000000000000000000100000000, direct_bt::LE_Features::Stable_Mod_Idx_Tx = 0b0000000000000000000000000000000000000000000000000000001000000000, direct_bt::LE_Features::Stable_Mod_Idx_Rx = 0b0000000000000000000000000000000000000000000000000000010000000000,
  direct_bt::LE_Features::LE_Coded_PHY = 0b0000000000000000000000000000000000000000000000000000100000000000, direct_bt::LE_Features::LE_Ext_Adv = 0b0000000000000000000000000000000000000000000000000001000000000000, direct_bt::LE_Features::LE_Per_Adv = 0b0000000000000000000000000000000000000000000000000010000000000000, direct_bt::LE_Features::Chan_Sel_Algo_2 = 0b0000000000000000000000000000000000000000000000000100000000000000,
  direct_bt::LE_Features::LE_Pwr_Cls_1 = 0b0000000000000000000000000000000000000000000000001000000000000000, direct_bt::LE_Features::Min_Num_Used_Chan_Proc = 0b0000000000000000000000000000000000000000000000010000000000000000, direct_bt::LE_Features::Conn_CTE_Req = 0b0000000000000000000000000000000000000000000000100000000000000000, direct_bt::LE_Features::Conn_CTE_Res = 0b0000000000000000000000000000000000000000000001000000000000000000,
  direct_bt::LE_Features::ConnLess_CTE_Tx = 0b0000000000000000000000000000000000000000000010000000000000000000, direct_bt::LE_Features::ConnLess_CTE_Rx = 0b0000000000000000000000000000000000000000000100000000000000000000, direct_bt::LE_Features::AoD = 0b0000000000000000000000000000000000000000001000000000000000000000, direct_bt::LE_Features::AoA = 0b0000000000000000000000000000000000000000010000000000000000000000,
  direct_bt::LE_Features::Rx_Const_Tone_Ext = 0b0000000000000000000000000000000000000000100000000000000000000000, direct_bt::LE_Features::Per_Adv_Sync_Tx_Sender = 0b0000000000000000000000000000000000000001000000000000000000000000, direct_bt::LE_Features::Per_Adv_Sync_Tx_Rec = 0b0000000000000000000000000000000000000010000000000000000000000000, direct_bt::LE_Features::Zzz_Clk_Acc_Upd = 0b0000000000000000000000000000000000000100000000000000000000000000,
  direct_bt::LE_Features::Rem_Pub_Key_Val = 0b0000000000000000000000000000000000001000000000000000000000000000, direct_bt::LE_Features::Conn_Iso_Stream_Master = 0b0000000000000000000000000000000000010000000000000000000000000000, direct_bt::LE_Features::Conn_Iso_Stream_Slave = 0b0000000000000000000000000000000000100000000000000000000000000000, direct_bt::LE_Features::Iso_Brdcst = 0b0000000000000000000000000000000001000000000000000000000000000000,
  direct_bt::LE_Features::Sync_Rx = 0b0000000000000000000000000000000010000000000000000000000000000000, direct_bt::LE_Features::Iso_Chan = 0b0000000000000000000000000000000100000000000000000000000000000000, direct_bt::LE_Features::LE_Pwr_Ctrl_Req = 0b0000000000000000000000000000001000000000000000000000000000000000, direct_bt::LE_Features::LE_Pwr_Chg_Ind = 0b0000000000000000000000000000010000000000000000000000000000000000,
  direct_bt::LE_Features::LE_Path_Loss_Mon = 0b0000000000000000000000000000100000000000000000000000000000000000
}
 HCI Supported Commands. More...
 
enum  direct_bt::LE_PHYs : uint8_t { direct_bt::LE_PHYs::NONE = 0, direct_bt::LE_PHYs::LE_1M = 0b00000001, direct_bt::LE_PHYs::LE_2M = 0b00000010, direct_bt::LE_PHYs::LE_CODED = 0b00000100 }
 LE Transport PHY bit values. More...
 
enum  direct_bt::BTSecurityLevel : uint8_t {
  direct_bt::BTSecurityLevel::UNSET = 0, direct_bt::BTSecurityLevel::NONE = 1, direct_bt::BTSecurityLevel::ENC_ONLY = 2, direct_bt::BTSecurityLevel::ENC_AUTH = 3,
  direct_bt::BTSecurityLevel::ENC_AUTH_FIPS = 4
}
 Bluetooth Security Level. More...
 
enum  direct_bt::PairingMode : uint8_t {
  direct_bt::PairingMode::NONE = 0, direct_bt::PairingMode::NEGOTIATING = 1, direct_bt::PairingMode::JUST_WORKS = 2, direct_bt::PairingMode::PASSKEY_ENTRY_ini = 3,
  direct_bt::PairingMode::PASSKEY_ENTRY_res = 4, direct_bt::PairingMode::NUMERIC_COMPARE_ini = 5, direct_bt::PairingMode::NUMERIC_COMPARE_res = 6, direct_bt::PairingMode::OUT_OF_BAND = 7,
  direct_bt::PairingMode::PRE_PAIRED = 8
}
 Bluetooth secure pairing mode. More...
 
enum  direct_bt::ScanType : uint8_t { direct_bt::ScanType::NONE = 0, direct_bt::ScanType::BREDR = 1 << number(BDAddressType::BDADDR_BREDR), direct_bt::ScanType::LE = ( 1 << number(BDAddressType::BDADDR_LE_PUBLIC) ) | ( 1 << number(BDAddressType::BDADDR_LE_RANDOM) ), direct_bt::ScanType::DUAL = BREDR | LE }
 Meta ScanType as derived from BTMode, with defined value mask consisting of BDAddressType bits. More...
 
enum  direct_bt::AD_PDU_Type : uint8_t {
  direct_bt::AD_PDU_Type::ADV_IND = 0x00, direct_bt::AD_PDU_Type::ADV_DIRECT_IND = 0x01, direct_bt::AD_PDU_Type::ADV_SCAN_IND = 0x02, direct_bt::AD_PDU_Type::ADV_NONCONN_IND = 0x03,
  direct_bt::AD_PDU_Type::SCAN_RSP = 0x04, direct_bt::AD_PDU_Type::ADV_IND2 = 0b0010011, direct_bt::AD_PDU_Type::DIRECT_IND2 = 0b0010101, direct_bt::AD_PDU_Type::SCAN_IND2 = 0b0010010,
  direct_bt::AD_PDU_Type::NONCONN_IND2 = 0b0010000, direct_bt::AD_PDU_Type::SCAN_RSP_to_ADV_IND = 0b0011011, direct_bt::AD_PDU_Type::SCAN_RSP_to_ADV_SCAN_IND = 0b0011010, direct_bt::AD_PDU_Type::UNDEFINED = 0xff
}
 LE Advertising (AD) Protocol Data Unit (PDU) Types. More...
 
enum  direct_bt::EAD_Event_Type : uint16_t {
  direct_bt::EAD_Event_Type::NONE = 0, direct_bt::EAD_Event_Type::CONN_ADV = 0b00000001, direct_bt::EAD_Event_Type::SCAN_ADV = 0b00000010, direct_bt::EAD_Event_Type::DIR_ADV = 0b00000100,
  direct_bt::EAD_Event_Type::SCAN_RSP = 0b00001000, direct_bt::EAD_Event_Type::LEGACY_PDU = 0b00010000, direct_bt::EAD_Event_Type::DATA_B0 = 0b00100000, direct_bt::EAD_Event_Type::DATA_B1 = 0b01000000
}
 LE Extended Advertising (EAD) Event Types. More...
 
enum  direct_bt::HCIWhitelistConnectType : uint8_t { direct_bt::HCIWhitelistConnectType::HCI_AUTO_CONN_REPORT = 0x00, direct_bt::HCIWhitelistConnectType::HCI_AUTO_CONN_DIRECT = 0x01, direct_bt::HCIWhitelistConnectType::HCI_AUTO_CONN_ALWAYS = 0x02 }
 HCI Whitelist connection type. More...
 
enum  direct_bt::AD_Type_Const : uint8_t { direct_bt::AD_Type_Const::AD_FLAGS_LIMITED_MODE_BIT = 0x01, direct_bt::AD_Type_Const::AD_FLAGS_GENERAL_MODE_BIT = 0x02 }
 
enum  direct_bt::L2CAP_CID : uint16_t {
  direct_bt::L2CAP_CID::UNDEFINED = 0x0000, direct_bt::L2CAP_CID::SIGNALING = 0x0001, direct_bt::L2CAP_CID::CONN_LESS = 0x0002, direct_bt::L2CAP_CID::A2MP = 0x0003,
  direct_bt::L2CAP_CID::ATT = 0x0004, direct_bt::L2CAP_CID::LE_SIGNALING = 0x0005, direct_bt::L2CAP_CID::SMP = 0x0006, direct_bt::L2CAP_CID::SMP_BREDR = 0x0007,
  direct_bt::L2CAP_CID::DYN_START = 0x0040, direct_bt::L2CAP_CID::DYN_END = 0xffff, direct_bt::L2CAP_CID::LE_DYN_END = 0x007f
}
 
enum  direct_bt::L2CAP_PSM : uint16_t {
  direct_bt::L2CAP_PSM::UNDEFINED = 0x0000, direct_bt::L2CAP_PSM::SDP = 0x0001, direct_bt::L2CAP_PSM::RFCOMM = 0x0003, direct_bt::L2CAP_PSM::TCSBIN = 0x0005,
  direct_bt::L2CAP_PSM::TCSBIN_CORDLESS = 0x0007, direct_bt::L2CAP_PSM::BNEP = 0x000F, direct_bt::L2CAP_PSM::HID_CONTROL = 0x0011, direct_bt::L2CAP_PSM::HID_INTERRUPT = 0x0013,
  direct_bt::L2CAP_PSM::UPNP = 0x0015, direct_bt::L2CAP_PSM::AVCTP = 0x0017, direct_bt::L2CAP_PSM::AVDTP = 0x0019, direct_bt::L2CAP_PSM::AVCTP_BROWSING = 0x001B,
  direct_bt::L2CAP_PSM::UDI_C_PLANE = 0x001D, direct_bt::L2CAP_PSM::ATT = 0x001F, direct_bt::L2CAP_PSM::LE_DYN_START = 0x0080, direct_bt::L2CAP_PSM::LE_DYN_END = 0x00FF,
  direct_bt::L2CAP_PSM::DYN_START = 0x1001, direct_bt::L2CAP_PSM::DYN_END = 0xffff, direct_bt::L2CAP_PSM::AUTO_END = 0x10ff
}
 Protocol Service Multiplexers (PSM) Assigned numbers https://www.bluetooth.com/specifications/assigned-numbers/logical-link-control/ More...
 
enum  direct_bt::L2CAP_States : uint8_t {
  direct_bt::L2CAP_States::CLOSED, direct_bt::L2CAP_States::WAIT_CONNECTED, direct_bt::L2CAP_States::WAIT_CONNECTED_RSP, direct_bt::L2CAP_States::CONFIG,
  direct_bt::L2CAP_States::OPEN, direct_bt::L2CAP_States::WAIT_DISCONNECTED, direct_bt::L2CAP_States::WAIT_CREATE, direct_bt::L2CAP_States::WAIT_CONNECT,
  direct_bt::L2CAP_States::WAIT_CREATE_RSP, direct_bt::L2CAP_States::WAIT_MOVE, direct_bt::L2CAP_States::WAIT_MOVE_RSP, direct_bt::L2CAP_States::WAIT_MOVE_CONFIRM,
  direct_bt::L2CAP_States::WAIT_CONFIRM_RSP
}
 BT Core Spec v5.2: Vol 3, Part A L2CAP Spec: 6 State Machine. More...
 
enum  direct_bt::GAP_T : uint8_t {
  direct_bt::GAP_T::FLAGS = 0x01, direct_bt::GAP_T::UUID16_INCOMPLETE = 0x02, direct_bt::GAP_T::UUID16_COMPLETE = 0x03, direct_bt::GAP_T::UUID32_INCOMPLETE = 0x04,
  direct_bt::GAP_T::UUID32_COMPLETE = 0x05, direct_bt::GAP_T::UUID128_INCOMPLETE = 0x06, direct_bt::GAP_T::UUID128_COMPLETE = 0x07, direct_bt::GAP_T::NAME_LOCAL_SHORT = 0x08,
  direct_bt::GAP_T::NAME_LOCAL_COMPLETE = 0x09, direct_bt::GAP_T::TX_POWER_LEVEL = 0x0A, direct_bt::GAP_T::SSP_CLASS_OF_DEVICE = 0x0D, direct_bt::GAP_T::SSP_HASH_C192 = 0x0E,
  direct_bt::GAP_T::SSP_RANDOMIZER_R192 = 0x0F, direct_bt::GAP_T::DEVICE_ID = 0x10, direct_bt::GAP_T::SEC_MGR_TK_VALUE = 0x10, direct_bt::GAP_T::SEC_MGR_OOB_FLAGS = 0x11,
  direct_bt::GAP_T::SLAVE_CONN_IVAL_RANGE = 0x12, direct_bt::GAP_T::SOLICIT_UUID16 = 0x14, direct_bt::GAP_T::SOLICIT_UUID128 = 0x15, direct_bt::GAP_T::SVC_DATA_UUID16 = 0x16,
  direct_bt::GAP_T::PUB_TRGT_ADDR = 0x17, direct_bt::GAP_T::RND_TRGT_ADDR = 0x18, direct_bt::GAP_T::GAP_APPEARANCE = 0x19, direct_bt::GAP_T::ADV_INTERVAL = 0x1A,
  direct_bt::GAP_T::LE_BT_DEV_ADDRESS = 0x1B, direct_bt::GAP_T::LE_ROLE = 0x1C, direct_bt::GAP_T::SSP_HASH_C256 = 0x1D, direct_bt::GAP_T::SSP_RANDOMIZER_R256 = 0x1E,
  direct_bt::GAP_T::SOLICIT_UUID32 = 0x1F, direct_bt::GAP_T::SVC_DATA_UUID32 = 0x20, direct_bt::GAP_T::SVC_DATA_UUID128 = 0x21, direct_bt::GAP_T::SSP_LE_SEC_CONN_ACK_VALUE = 0x22,
  direct_bt::GAP_T::SSP_LE_SEC_CONN_RND_VALUE = 0x23, direct_bt::GAP_T::URI = 0x24, direct_bt::GAP_T::INDOOR_POSITIONING = 0x25, direct_bt::GAP_T::TX_DISCOVERY_DATA = 0x26,
  direct_bt::GAP_T::LE_SUPP_FEATURES = 0x27, direct_bt::GAP_T::CH_MAP_UPDATE_IND = 0x28, direct_bt::GAP_T::PB_ADV = 0x29, direct_bt::GAP_T::MESH_MESSAGE = 0x2A,
  direct_bt::GAP_T::MESH_BEACON = 0x2B, direct_bt::GAP_T::BIG_INFO = 0x2C, direct_bt::GAP_T::BROADCAST_CODE = 0x2D, direct_bt::GAP_T::INFO_DATA_3D = 0x3D,
  direct_bt::GAP_T::MANUFACTURE_SPECIFIC = 0xFF
}
 ​​Assigned numbers are used in Generic Access Profile (GAP) for inquiry response, EIR data type values, manufacturer-specific data, advertising data, low energy UUIDs and appearance characteristics, and class of device. More...
 
enum  direct_bt::AppearanceCat : uint16_t {
  direct_bt::AppearanceCat::UNKNOWN = 0, direct_bt::AppearanceCat::GENERIC_PHONE = 64, direct_bt::AppearanceCat::GENERIC_COMPUTER = 128, direct_bt::AppearanceCat::GENERIC_WATCH = 192,
  direct_bt::AppearanceCat::SPORTS_WATCH = 193, direct_bt::AppearanceCat::GENERIC_CLOCK = 256, direct_bt::AppearanceCat::GENERIC_DISPLAY = 320, direct_bt::AppearanceCat::GENERIC_REMOTE_CLOCK = 384,
  direct_bt::AppearanceCat::GENERIC_EYE_GLASSES = 448, direct_bt::AppearanceCat::GENERIC_TAG = 512, direct_bt::AppearanceCat::GENERIC_KEYRING = 576, direct_bt::AppearanceCat::GENERIC_MEDIA_PLAYER = 640,
  direct_bt::AppearanceCat::GENERIC_BARCODE_SCANNER = 704, direct_bt::AppearanceCat::GENERIC_THERMOMETER = 768, direct_bt::AppearanceCat::GENERIC_THERMOMETER_EAR = 769, direct_bt::AppearanceCat::GENERIC_HEART_RATE_SENSOR = 832,
  direct_bt::AppearanceCat::HEART_RATE_SENSOR_BELT = 833, direct_bt::AppearanceCat::GENERIC_BLOD_PRESSURE = 896, direct_bt::AppearanceCat::BLOD_PRESSURE_ARM = 897, direct_bt::AppearanceCat::BLOD_PRESSURE_WRIST = 898,
  direct_bt::AppearanceCat::HID = 960, direct_bt::AppearanceCat::HID_KEYBOARD = 961, direct_bt::AppearanceCat::HID_MOUSE = 962, direct_bt::AppearanceCat::HID_JOYSTICK = 963,
  direct_bt::AppearanceCat::HID_GAMEPAD = 964, direct_bt::AppearanceCat::HID_DIGITIZER_TABLET = 965, direct_bt::AppearanceCat::HID_CARD_READER = 966, direct_bt::AppearanceCat::HID_DIGITAL_PEN = 967,
  direct_bt::AppearanceCat::HID_BARCODE_SCANNER = 968, direct_bt::AppearanceCat::GENERIC_GLUCOSE_METER = 1024, direct_bt::AppearanceCat::GENERIC_RUNNING_WALKING_SENSOR = 1088, direct_bt::AppearanceCat::RUNNING_WALKING_SENSOR_IN_SHOE = 1089,
  direct_bt::AppearanceCat::RUNNING_WALKING_SENSOR_ON_SHOE = 1090, direct_bt::AppearanceCat::RUNNING_WALKING_SENSOR_HIP = 1091, direct_bt::AppearanceCat::GENERIC_CYCLING = 1152, direct_bt::AppearanceCat::CYCLING_COMPUTER = 1153,
  direct_bt::AppearanceCat::CYCLING_SPEED_SENSOR = 1154, direct_bt::AppearanceCat::CYCLING_CADENCE_SENSOR = 1155, direct_bt::AppearanceCat::CYCLING_POWER_SENSOR = 1156, direct_bt::AppearanceCat::CYCLING_SPEED_AND_CADENCE_SENSOR = 1157,
  direct_bt::AppearanceCat::GENERIC_PULSE_OXIMETER = 3136, direct_bt::AppearanceCat::PULSE_OXIMETER_FINGERTIP = 3137, direct_bt::AppearanceCat::PULSE_OXIMETER_WRIST = 3138, direct_bt::AppearanceCat::GENERIC_WEIGHT_SCALE = 3200,
  direct_bt::AppearanceCat::GENERIC_PERSONAL_MOBILITY_DEVICE = 3264, direct_bt::AppearanceCat::PERSONAL_MOBILITY_DEVICE_WHEELCHAIR = 3265, direct_bt::AppearanceCat::PERSONAL_MOBILITY_DEVICE_SCOOTER = 3266, direct_bt::AppearanceCat::GENERIC_CONTINUOUS_GLUCOSE_MONITOR = 3328,
  direct_bt::AppearanceCat::GENERIC_INSULIN_PUMP = 3392, direct_bt::AppearanceCat::INSULIN_PUMP_DURABLE = 3393, direct_bt::AppearanceCat::INSULIN_PUMP_PATCH = 3396, direct_bt::AppearanceCat::INSULIN_PUMP_PEN = 3400,
  direct_bt::AppearanceCat::GENERIC_MEDICATION_DELIVERY = 3456, direct_bt::AppearanceCat::GENERIC_OUTDOOR_SPORTS_ACTIVITY = 5184, direct_bt::AppearanceCat::OUTDOOR_SPORTS_ACTIVITY_LOCATION_DISPLAY_DEVICE = 5185, direct_bt::AppearanceCat::OUTDOOR_SPORTS_ACTIVITY_LOCATION_AND_NAVIGATION_DISPLAY_DEVICE = 5186,
  direct_bt::AppearanceCat::OUTDOOR_SPORTS_ACTIVITY_LOCATION_POD = 5187, direct_bt::AppearanceCat::OUTDOOR_SPORTS_ACTIVITY_LOCATION_AND_NAVIGATION_POD = 5188
}
 
enum  direct_bt::GAPFlags : uint8_t {
  direct_bt::GAPFlags::NONE = 0, direct_bt::GAPFlags::LE_Ltd_Discoverable = (1 << 0), direct_bt::GAPFlags::LE_Gen_Discoverable = (1 << 1), direct_bt::GAPFlags::BREDR_UNSUPPORTED = (1 << 2),
  direct_bt::GAPFlags::DUAL_LE_BREDR_SameCtrl = (1 << 3), direct_bt::GAPFlags::DUAL_LE_BREDR_SameHost = (1 << 4), direct_bt::GAPFlags::RESERVED1 = (1 << 5), direct_bt::GAPFlags::RESERVED2 = (1 << 6),
  direct_bt::GAPFlags::RESERVED3 = (1 << 7)
}
 GAP Flags values, see Bluetooth Core Specification Supplement V9, Part A: 1.3, p 12 pp. More...
 
enum  direct_bt::EIRDataType : uint32_t {
  direct_bt::EIRDataType::NONE = 0, direct_bt::EIRDataType::EVT_TYPE = (1 << 0), direct_bt::EIRDataType::EXT_EVT_TYPE = (1 << 1), direct_bt::EIRDataType::BDADDR_TYPE = (1 << 2),
  direct_bt::EIRDataType::BDADDR = (1 << 3), direct_bt::EIRDataType::FLAGS = (1 << 4), direct_bt::EIRDataType::NAME = (1 << 5), direct_bt::EIRDataType::NAME_SHORT = (1 << 6),
  direct_bt::EIRDataType::RSSI = (1 << 7), direct_bt::EIRDataType::TX_POWER = (1 << 8), direct_bt::EIRDataType::MANUF_DATA = (1 << 9), direct_bt::EIRDataType::DEVICE_CLASS = (1 << 10),
  direct_bt::APPEARANCE = (1 << 11), direct_bt::EIRDataType::HASH = (1 << 12), direct_bt::EIRDataType::RANDOMIZER = (1 << 13), direct_bt::EIRDataType::DEVICE_ID = (1 << 14),
  direct_bt::EIRDataType::SERVICE_UUID = (1 << 30)
}
 Bit mask of 'Extended Inquiry Response' (EIR) data fields, indicating a set of related data. More...
 

Functions

constexpr uint8_t direct_bt::number (const BTMode rhs) noexcept
 
std::string direct_bt::to_string (const BTMode v) noexcept
 
BTMode direct_bt::to_BTMode (const std::string &value) noexcept
 Maps the specified name to a constant of BTMode. More...
 
constexpr uint64_t direct_bt::number (const LE_Features rhs) noexcept
 
constexpr LE_Features direct_bt::operator^ (const LE_Features lhs, const LE_Features rhs) noexcept
 
constexpr LE_Features direct_bt::operator| (const LE_Features lhs, const LE_Features rhs) noexcept
 
constexpr LE_Features direct_bt::operator& (const LE_Features lhs, const LE_Features rhs) noexcept
 
constexpr bool direct_bt::operator== (const LE_Features lhs, const LE_Features rhs) noexcept
 
constexpr bool direct_bt::operator!= (const LE_Features lhs, const LE_Features rhs) noexcept
 
constexpr bool direct_bt::isLEFeaturesBitSet (const LE_Features mask, const LE_Features bit) noexcept
 
std::string direct_bt::to_string (const LE_Features mask) noexcept
 
constexpr uint8_t direct_bt::number (const LE_PHYs rhs) noexcept
 
constexpr LE_PHYs direct_bt::operator^ (const LE_PHYs lhs, const LE_PHYs rhs) noexcept
 
constexpr LE_PHYs direct_bt::operator| (const LE_PHYs lhs, const LE_PHYs rhs) noexcept
 
constexpr LE_PHYs direct_bt::operator& (const LE_PHYs lhs, const LE_PHYs rhs) noexcept
 
constexpr bool direct_bt::operator== (const LE_PHYs lhs, const LE_PHYs rhs) noexcept
 
constexpr bool direct_bt::operator!= (const LE_PHYs lhs, const LE_PHYs rhs) noexcept
 
constexpr bool direct_bt::isLEPHYBitSet (const LE_PHYs mask, const LE_PHYs bit) noexcept
 
std::string direct_bt::to_string (const LE_PHYs mask) noexcept
 
constexpr uint8_t direct_bt::number (const BTSecurityLevel rhs) noexcept
 
constexpr bool direct_bt::operator== (const BTSecurityLevel lhs, const BTSecurityLevel rhs) noexcept
 
constexpr bool direct_bt::operator!= (const BTSecurityLevel lhs, const BTSecurityLevel rhs) noexcept
 
constexpr bool direct_bt::operator< (const BTSecurityLevel lhs, const BTSecurityLevel rhs) noexcept
 
constexpr bool direct_bt::operator<= (const BTSecurityLevel lhs, const BTSecurityLevel rhs) noexcept
 
constexpr bool direct_bt::operator> (const BTSecurityLevel lhs, const BTSecurityLevel rhs) noexcept
 
constexpr bool direct_bt::operator>= (const BTSecurityLevel lhs, const BTSecurityLevel rhs) noexcept
 
constexpr BTSecurityLevel direct_bt::to_BTSecurityLevel (const uint8_t v) noexcept
 
std::string direct_bt::to_string (const BTSecurityLevel v) noexcept
 
constexpr uint8_t direct_bt::number (const PairingMode rhs) noexcept
 
std::string direct_bt::to_string (const PairingMode v) noexcept
 
constexpr uint8_t direct_bt::number (const ScanType rhs) noexcept
 
constexpr ScanType direct_bt::operator~ (const ScanType val) noexcept
 
constexpr ScanType direct_bt::operator^ (const ScanType lhs, const ScanType rhs) noexcept
 
constexpr ScanType direct_bt::operator| (const ScanType lhs, const ScanType rhs) noexcept
 
constexpr ScanType direct_bt::operator& (const ScanType lhs, const ScanType rhs) noexcept
 
constexpr bool direct_bt::operator== (const ScanType lhs, const ScanType rhs) noexcept
 
constexpr bool direct_bt::operator!= (const ScanType lhs, const ScanType rhs) noexcept
 
constexpr ScanType direct_bt::changeScanType (const ScanType current, const ScanType changeType, const bool changeEnable) noexcept
 
constexpr bool direct_bt::hasScanType (const ScanType current, const ScanType testType) noexcept
 
std::string direct_bt::to_string (const ScanType v) noexcept
 
ScanType direct_bt::to_ScanType (BTMode btMode)
 
constexpr uint8_t direct_bt::number (const AD_PDU_Type rhs) noexcept
 
std::string direct_bt::to_string (const AD_PDU_Type v) noexcept
 
constexpr uint16_t direct_bt::number (const EAD_Event_Type rhs) noexcept
 
constexpr EAD_Event_Type direct_bt::operator| (const EAD_Event_Type lhs, const EAD_Event_Type rhs) noexcept
 
constexpr EAD_Event_Type direct_bt::operator& (const EAD_Event_Type lhs, const EAD_Event_Type rhs) noexcept
 
constexpr bool direct_bt::operator== (const EAD_Event_Type lhs, const EAD_Event_Type rhs) noexcept
 
constexpr bool direct_bt::operator!= (const EAD_Event_Type lhs, const EAD_Event_Type rhs) noexcept
 
constexpr bool direct_bt::isEAD_Event_TypeSet (const EAD_Event_Type mask, const EAD_Event_Type bit) noexcept
 
constexpr void direct_bt::setEAD_Event_TypeSet (EAD_Event_Type &mask, const EAD_Event_Type bit) noexcept
 
std::string direct_bt::to_string (const EAD_Event_Type v) noexcept
 
constexpr uint8_t direct_bt::number (const HCIWhitelistConnectType rhs) noexcept
 
constexpr uint16_t direct_bt::number (const L2CAP_CID rhs) noexcept
 
constexpr L2CAP_CID direct_bt::to_L2CAP_CID (const uint16_t v) noexcept
 
std::string direct_bt::to_string (const L2CAP_CID v) noexcept
 
constexpr uint16_t direct_bt::number (const L2CAP_PSM rhs) noexcept
 
constexpr L2CAP_PSM direct_bt::to_L2CAP_PSM (const uint16_t v) noexcept
 
std::string direct_bt::to_string (const L2CAP_PSM v) noexcept
 
constexpr uint16_t direct_bt::number (const AppearanceCat rhs) noexcept
 
std::string direct_bt::to_string (const AppearanceCat v) noexcept
 
constexpr bool direct_bt::operator== (const ManufactureSpecificData &lhs, const ManufactureSpecificData &rhs) noexcept
 
constexpr bool direct_bt::operator!= (const ManufactureSpecificData &lhs, const ManufactureSpecificData &rhs) noexcept
 
constexpr uint8_t direct_bt::number (const GAPFlags rhs) noexcept
 
std::string direct_bt::to_string (const GAPFlags v) noexcept
 
constexpr uint32_t direct_bt::number (const EIRDataType rhs) noexcept
 
constexpr EIRDataType direct_bt::operator| (const EIRDataType lhs, const EIRDataType rhs) noexcept
 
constexpr EIRDataType direct_bt::operator& (const EIRDataType lhs, const EIRDataType rhs) noexcept
 
constexpr bool direct_bt::operator== (const EIRDataType lhs, const EIRDataType rhs) noexcept
 
constexpr bool direct_bt::operator!= (const EIRDataType lhs, const EIRDataType rhs) noexcept
 
constexpr bool direct_bt::isEIRDataTypeSet (const EIRDataType mask, const EIRDataType bit) noexcept
 
constexpr void direct_bt::setEIRDataTypeSet (EIRDataType &mask, const EIRDataType bit) noexcept
 
std::string direct_bt::to_string (const EIRDataType mask) noexcept
 
std::string direct_bt::to_string (EInfoReport::Source source) noexcept
 
std::string direct_bt::to_string (const EInfoReport &eir, const bool includeServices=true) noexcept