Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
BTTypes0.hpp File Reference
#include <cstring>
#include <string>
#include <memory>
#include <cstdint>
#include <jau/java_uplink.hpp>
#include <jau/basic_types.hpp>
#include <jau/darray.hpp>
#include <jau/octets.hpp>
#include <jau/uuid.hpp>
#include "BTAddress.hpp"
#include "jau/int_types.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::EInfoReport
 Collection of 'Extended Advertising Data' (EAD), 'Advertising Data' (AD) or 'Extended Inquiry Response' (EIR) information. More...
 
class  direct_bt::ManufactureSpecificData
 

Namespaces

namespace  direct_bt
 

Macros

#define JAVA_DBT_PACKAGE   "jau/direct_bt/"
 
#define JAVA_MAIN_PACKAGE   "org/direct_bt/"
 

Typedefs

typedef std::shared_ptr< EInfoReport > direct_bt::EInfoReportRef
 

Enumerations

enum class  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 class  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 class  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 class  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 class  direct_bt::BTRole : uint8_t { direct_bt::BTRole::None = 0 , direct_bt::BTRole::Master = 1 , direct_bt::BTRole::Slave = 2 }
 Bluetooth roles from the perspective of the link layer (connection initiator). More...
 
enum class  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 class  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 class  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::EIRDataType::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::CONN_IVAL = (1 << 15) , direct_bt::EIRDataType::SERVICE_UUID = (1 << 30) , direct_bt::EIRDataType::ALL = 0xffffffff
}
 Bit mask of 'Extended Inquiry Response' (EIR) data fields, indicating a set of related data. More...
 
enum class  direct_bt::GAP_T : uint8_t {
  direct_bt::GAP_T::NONE = 0x00 , 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 class  direct_bt::GAPFlags : uint8_t {
  direct_bt::GAPFlags::NONE = 0 , direct_bt::GAPFlags::LE_Ltd_Disc = (1 << 0) , direct_bt::GAPFlags::LE_Gen_Disc = (1 << 1) , direct_bt::GAPFlags::BREDR_UNSUP = (1 << 2) ,
  direct_bt::GAPFlags::Dual_SameCtrl = (1 << 3) , direct_bt::GAPFlags::Dual_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 class  direct_bt::GATTRole : uint8_t { direct_bt::GATTRole::None = 0 , direct_bt::GATTRole::Server = 1 , direct_bt::GATTRole::Client = 2 }
 Bluetooth GATT roles. More...
 
enum class  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 class  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 class  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 class  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 class  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 class  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 class  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 class  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...
 

Functions

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

Variables

constexpr const EIRDataType direct_bt::EIR_DATA_TYPE_MASK
 Explicit mask to erase all implicit set EIRDataType fields: EVT_TYPE, EXT_EVT_TYPE, BDADDR_TYPE, BDADDR and RSSI. More...
 

Macro Definition Documentation

◆ JAVA_DBT_PACKAGE

#define JAVA_DBT_PACKAGE   "jau/direct_bt/"

Definition at line 43 of file BTTypes0.hpp.

◆ JAVA_MAIN_PACKAGE

#define JAVA_MAIN_PACKAGE   "org/direct_bt/"

Definition at line 44 of file BTTypes0.hpp.