Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdfb5c82 authored by Chris Manton's avatar Chris Manton Committed by Automerger Merge Worker
Browse files

Merge "legacy: Deprecate legacy hci interface struct" am: a3f2fceb am: fb3562c7

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1986127

Change-Id: If389a077d3f3144b1656381917f199982ae43158
parents 6a16344c fb3562c7
Loading
Loading
Loading
Loading
+0 −161
Original line number Diff line number Diff line
@@ -1901,170 +1901,9 @@ bluetooth::legacy::hci::Interface interface_ = {
    // LINK_CONTROL
    .StartInquiry = btsnd_hcic_inquiry,                   // OCF 0x0401
    .InquiryCancel = btsnd_hcic_inq_cancel,               // OCF 0x0402
    .StartPeriodicInquiryMode = btsnd_hcic_per_inq_mode,  // OCF 0x0403
    .ExitPeriodicInquiryMode = btsnd_hcic_exit_per_inq,   // OCF 0x0404
    .CreateConnection = btsnd_hcic_create_conn,           // OCF 0x0405
    .Disconnect = btsnd_hcic_disconnect,                  // OCF 0x0406
    // UNUSED OCF 0x0407 btsnd_hcic_add_SCO_conn
    .CreateConnectionCancel = btsnd_hcic_create_conn_cancel,  // OCF 0x0408
    .AcceptConnectionRequest = btsnd_hcic_accept_conn,        // OCF 0x0409
    .RejectConnectionRequest = btsnd_hcic_reject_conn,        // OCF 0x040A
    .LinkKeyRequestReply = btsnd_hcic_link_key_req_reply,     // OCF 0x040B
    .LinkKeyRequestNegativeReply =
        btsnd_hcic_link_key_neg_reply,                     // OCF 0x040C,
    .PinCodeRequestReply = btsnd_hcic_pin_code_req_reply,  // OCF 0x040D,
    .PinCodeRequestNegativeReply =
        btsnd_hcic_pin_code_neg_reply,                          // OCF 0x040E,
    .ChangeConnectionPacketType = btsnd_hcic_change_conn_type,  // OCF 0x040F,
    // UNUSED OCF 0x0410
    .AuthenticationRequested = btsnd_hcic_auth_request,  // OCF 0x0411,
    // UNUSED OCF 0x0412
    .SetConnectionEncryption = btsnd_hcic_set_conn_encrypt,  // OCF 0x0413,
    // UNUSED OCF 0x0414
    .ChangeConnectionLinkKey = nullptr,  // OCF 0x0415,
    // UNUSED OCF 0x0416
    .CentralLinkKey = nullptr,  // OCF 0x0417,
    // UNUSED OCF 0x0418
    .RemoteNameRequest = btsnd_hcic_rmt_name_req,                // OCF 0x0419,
    .RemoteNameRequestCancel = btsnd_hcic_rmt_name_req_cancel,   // OCF 0x041A,
    .ReadRemoteSupportedFeatures = btsnd_hcic_rmt_features_req,  // OCF 0x041B,
    .ReadRemoteExtendedFeatures = btsnd_hcic_rmt_ext_features,   // OCF 0x041C,
    .ReadRemoteVersionInformation = btsnd_hcic_rmt_ver_req,      // OCF 0x041D,
    // UNUSED OCF 0x041E
    .ReadClockOffset = btsnd_hcic_read_rmt_clk_offset,  // OCF 0x041F,
    .ReadLmpHandle = btsnd_hcic_read_lmp_handle,        // OCF 0x0420,
    // UNUSED OCF 0x0420 - 0x0427
    .SetupSynchronousConnection = btsnd_hcic_setup_esco_conn,    // OCF 0x0428,
    .AcceptSynchronousConnection = btsnd_hcic_accept_esco_conn,  // OCF 0x0429,
    .RejectSynchronousConnection = btsnd_hcic_reject_esco_conn,  // OCF 0x042A,
    .IoCapabilityRequestReply = btsnd_hcic_io_cap_req_reply,     // OCF 0x042B,
    .UserConfirmationRequestReply = btsnd_hcic_user_conf_reply,  // OCF 0x042C,
    .UserConfirmationRequestNegativeReply =
        btsnd_hcic_user_conf_reply,                            // OCF 0x042D,
    .UserPasskeyRequestReply = btsnd_hcic_user_passkey_reply,  // OCF 0x042E,
    .UserPasskeyRequestNegativeReply =
        btsnd_hcic_user_passkey_neg_reply,                  // OCF 0x042F,
    .RemoteOobDataRequestReply = btsnd_hcic_rem_oob_reply,  // OCF 0x0430,
    // UNUSED OCF 0x0431 - 0x0432
    .RemoteOobDataRequestNegativeReply =
        btsnd_hcic_rem_oob_neg_reply,  // OCF 0x0433,
    .IoCapabilityRequestNegativeReply =
        btsnd_hcic_io_cap_req_neg_reply,  // OCF 0x0434,
    // UNUSED OCF 0x0435 - 0x043C
    .EnhancedSetupSynchronousConnection =
        btsnd_hcic_enhanced_set_up_synchronous_connection,  // OCF 0x043D,
    .EnhancedAcceptSynchronousConnection =
        btsnd_hcic_enhanced_accept_synchronous_connection,  // OCF 0x043E,
    // UNUSED OCF 0x043F - 0x0444
    .RemoteOobExtendedDataRequestReply = nullptr,  // OCF 0x0445,

    // LINK_POLICY
    .HoldMode = btsnd_hcic_hold_mode,  // OCF 0x0801,
    // UNUSED OCF 0x0802
    .SniffMode = btsnd_hcic_sniff_mode,           // OCF 0x0803,
    .ExitSniffMode = btsnd_hcic_exit_sniff_mode,  // OCF 0x0804,
    // UNUSED OCF 0x0805 - 0x0806
    .QosSetup = btsnd_hcic_qos_setup,  // OCF 0x0807,
    // UNUSED OCF 0x0808
    .RoleDiscovery = nullptr,  // OCF 0x0809,
    // UNUSED OCF 0x080A
    .StartRoleSwitch = btsnd_hcic_switch_role,               // OCF 0x080B,
    .ReadLinkPolicySettings = nullptr,                       // OCF 0x080C,
    .WriteLinkPolicySettings = btsnd_hcic_write_policy_set,  // OCF 0x080D,
    .ReadDefaultLinkPolicySettings = nullptr,                // OCF 0x080E,
    .WriteDefaultLinkPolicySettings =
        btsnd_hcic_write_def_policy_set,          // OCF 0x080F,
    .FlowSpecification = nullptr,                 // OCF 0x0810,
    .SniffSubrating = btsnd_hcic_sniff_sub_rate,  // OCF 0x0811,

    // CONTROLLER_AND_BASEBAND
    .SetEventMask = nullptr,  // OCF 0x0C01,
    // UNUSED OCF 0x0C02
    .Reset = nullptr,  // OCF 0x0C03,
    // UNUSED OCF 0x0C04
    .SetEventFilter = btsnd_hcic_set_event_filter,  // OCF 0x0C05,
    // UNUSED OCF 0x0C06 = 0x0C07
    .Flush = nullptr,                           // OCF 0x0C08,
    .ReadPinType = nullptr,                     // OCF 0x0C09,
    .WritePinType = btsnd_hcic_write_pin_type,  // OCF 0x0C0A,
    .CreateNewUnitKey = nullptr,                // OCF 0x0C0B,
    // UNUSED OCF 0x0C0C
    .ReadStoredLinkKey = nullptr,  // OCF 0x0C0D,
    // UNUSED OCF 0x0C0E - 0x0C10
    .WriteStoredLinkKey = nullptr,                               // OCF 0x0C11,
    .DeleteStoredLinkKey = btsnd_hcic_delete_stored_key,         // OCF 0x0C12,
    .WriteLocalName = btsnd_hcic_change_name,                    // OCF 0x0C13,
    .ReadLocalName = btsnd_hcic_read_name,                       // OCF 0x0C14,
    .ReadConnectionAcceptTimeout = nullptr,                      // OCF 0x0C15,
    .WriteConnectionAcceptTimeout = btsnd_hcic_write_page_tout,  // OCF 0x0C16,
    .ReadPageTimeout = nullptr,                                  // OCF 0x0C17,
    .WritePageTimeout = nullptr,                                 // OCF 0x0C18,
    .ReadScanEnable = nullptr,                                   // OCF 0x0C19,
    .WriteScanEnable = btsnd_hcic_write_scan_enable,             // OCF 0x0C1A,
    .ReadPageScanActivity = nullptr,                             // OCF 0x0C1B,
    .WritePageScanActivity = btsnd_hcic_write_pagescan_cfg,      // OCF 0x0C1C,
    .ReadInquiryScanActivity = nullptr,                          // OCF 0x0C1D,
    .WriteInquiryScanActivity = btsnd_hcic_write_inqscan_cfg,    // OCF 0x0C1E,
    .ReadAuthenticationEnable = nullptr,                         // OCF 0x0C1F,
    // UNUSED OCF 0x0C20 - 0x0C22
    .ReadClassOfDevice = nullptr,                          // OCF 0x0C23,
    .WriteClassOfDevice = btsnd_hcic_write_dev_class,      // OCF 0x0C24,
    .ReadVoiceSetting = nullptr,                           // OCF 0x0C25,
    .WriteVoiceSetting = btsnd_hcic_write_voice_settings,  // OCF 0x0C26,
    .ReadAutomaticFlushTimeout =
        btsnd_hcic_read_automatic_flush_timeout,  // OCF 0x0C27,
    .WriteAutomaticFlushTimeout =
        btsnd_hcic_write_auto_flush_tout,                // OCF 0x0C28,
    .ReadNumBroadcastRetransmits = nullptr,              // OCF 0x0C29,
    .WriteNumBroadcastRetransmits = nullptr,             // OCF 0x0C2A,
    .ReadHoldModeActivity = nullptr,                     // OCF 0x0C2B,
    .WriteHoldModeActivity = nullptr,                    // OCF 0x0C2C,
    .ReadTransmitPowerLevel = btsnd_hcic_read_tx_power,  // OCF 0x0C2D,
    .ReadSynchronousFlowControlEnable = nullptr,         // OCF 0x0C2E,
    .WriteSynchronousFlowControlEnable = nullptr,        // OCF 0x0C2F,
    // UNUSED OCF 0x0C30
    .SetControllerToHostFlowControl = nullptr,  // OCF 0x0C31,
    // UNUSED OCF 0x0C32
    .HostBufferSize = nullptr,  // OCF 0x0C33,
    // UNUSED OCF 0x0C34
    .HostNumCompletedPackets = nullptr,  // OCF 0x0C35,
    .ReadLinkSupervisionTimeout =
        btsnd_hcic_write_link_super_tout,                   // OCF 0x0C36,
    .WriteLinkSupervisionTimeout = nullptr,                 // OCF 0x0C37,
    .ReadNumberOfSupportedIac = nullptr,                    // OCF 0x0C38,
    .ReadCurrentIacLap = nullptr,                           // OCF 0x0C39,
    .WriteCurrentIacLap = btsnd_hcic_write_cur_iac_lap,     // OCF 0x0C3A,
    .SetAfhHostChannelClassification = nullptr,             // OCF 0x0C3F,
    .ReadInquiryScanType = nullptr,                         // OCF 0x0C42,
    .WriteInquiryScanType = btsnd_hcic_write_inqscan_type,  // OCF 0x0C43,
    .ReadInquiryMode = nullptr,                             // OCF 0x0C44,
    .WriteInquiryMode = btsnd_hcic_write_inquiry_mode,      // OCF 0x0C45,
    .ReadPageScanType = nullptr,                            // OCF 0x0C46,
    .WritePageScanType = btsnd_hcic_write_pagescan_type,    // OCF 0x0C47,
    .ReadAfhChannelAssessmentMode = nullptr,                // OCF 0x0C48,
    .WriteAfhChannelAssessmentMode = nullptr,               // OCF 0x0C49,
    .ReadExtendedInquiryResponse = nullptr,                 // OCF 0x0C51,
    .WriteExtendedInquiryResponse =
        btsnd_hcic_write_ext_inquiry_response,                   // OCF 0x0C52,
    .RefreshEncryptionKey = nullptr,                             // OCF 0x0C53,
    .ReadSimplePairingMode = nullptr,                            // OCF 0x0C55,
    .WriteSimplePairingMode = nullptr,                           // OCF 0x0C56,
    .ReadLocalOobData = btsnd_hcic_read_local_oob_data,          // OCF 0x0C57,
    .ReadInquiryResponseTransmitPowerLevel = nullptr,            // OCF 0x0C58,
    .WriteInquiryTransmitPowerLevel = nullptr,                   // OCF 0x0C59,
    .EnhancedFlush = btsnd_hcic_enhanced_flush,                  // OCF 0x0C5F,
    .SendKeypressNotification = btsnd_hcic_send_keypress_notif,  // OCF 0x0C60,

    // STATUS_PARAMETERS
    .ReadFailedContactCounter =
        btsnd_hcic_read_failed_contact_counter,      // OCF 0x1401,
    .ResetFailedContactCounter = nullptr,            // OCF 0x1402,
    .ReadLinkQuality = btsnd_hcic_get_link_quality,  // OCF 0x1403,
    // UNUSED OCF 0x1404
    .ReadRssi = btsnd_hcic_read_rssi,  // OCF 0x1405,
    .ReadAfhChannelMap = nullptr,      // OCF 0x1406,
    .ReadClock = nullptr,              // OCF 0x1407,
    .ReadEncryptionKeySize = nullptr,  // OCF 0x1408,
};

const bluetooth::legacy::hci::Interface&
+0 −158
Original line number Diff line number Diff line
@@ -65,167 +65,9 @@ struct Interface {
  void (*StartInquiry)(const LAP inq_lap, uint8_t duration,
                       uint8_t response_cnt);
  void (*InquiryCancel)();
  void (*StartPeriodicInquiryMode)(uint16_t max_period, uint16_t min_period,
                                   const LAP inq_lap, uint8_t duration,
                                   uint8_t response_cnt);
  void (*ExitPeriodicInquiryMode)();
  void (*CreateConnection)(const RawAddress& dest, uint16_t packet_types,
                           uint8_t page_scan_rep_mode, uint8_t page_scan_mode,
                           uint16_t clock_offset, uint8_t allow_switch);
  void (*Disconnect)(uint16_t handle, uint8_t reason);
  // UNUSED 0x0407 btsnd_hcic_add_SCO_conn
  void (*CreateConnectionCancel)(const RawAddress& dest);
  void (*AcceptConnectionRequest)(const RawAddress& dest, uint8_t role);
  void (*RejectConnectionRequest)(const RawAddress& dest, uint8_t reason);
  void (*LinkKeyRequestReply)(const RawAddress& bd_addr,
                              const LinkKey& link_key);
  void (*LinkKeyRequestNegativeReply)(const RawAddress& bd_addr);
  void (*PinCodeRequestReply)(const RawAddress& bd_addr, uint8_t pin_code_len,
                              PIN_CODE pin_code);
  void (*PinCodeRequestNegativeReply)(const RawAddress& bd_addr);
  void (*ChangeConnectionPacketType)(uint16_t handle, uint16_t packet_types);
  void (*AuthenticationRequested)(uint16_t handle);
  void (*SetConnectionEncryption)(uint16_t handle, bool enable);
  void (*ChangeConnectionLinkKey)();  // 0x0415,
  // UNUSED 0x0416
  void (*CentralLinkKey)();  // 0x0417,
  void (*RemoteNameRequest)(const RawAddress& bd_addr,
                            uint8_t page_scan_rep_mode, uint8_t page_scan_mode,
                            uint16_t clock_offset);
  void (*RemoteNameRequestCancel)(const RawAddress& bd_addr);
  void (*ReadRemoteSupportedFeatures)(uint16_t handle);
  void (*ReadRemoteExtendedFeatures)(uint16_t handle, uint8_t page_num);
  void (*ReadRemoteVersionInformation)(uint16_t handle);
  void (*ReadClockOffset)(uint16_t handle);
  void (*ReadLmpHandle)(uint16_t handle);
  void (*SetupSynchronousConnection)(uint16_t handle,
                                     uint32_t transmit_bandwidth,
                                     uint32_t receive_bandwidth,
                                     uint16_t max_latency, uint16_t voice,
                                     uint8_t retrans_effort,
                                     uint16_t packet_types);
  void (*AcceptSynchronousConnection)(
      const RawAddress& bd_addr, uint32_t transmit_bandwidth,
      uint32_t receive_bandwidth, uint16_t max_latency, uint16_t content_fmt,
      uint8_t retrans_effort, uint16_t packet_types);
  void (*RejectSynchronousConnection)(const RawAddress& bd_addr,
                                      uint8_t reason);
  void (*IoCapabilityRequestReply)(const RawAddress& bd_addr,
                                   uint8_t capability, uint8_t oob_present,
                                   uint8_t auth_req);
  void (*UserConfirmationRequestReply)(const RawAddress& bd_addr, bool is_yes);
  void (*UserConfirmationRequestNegativeReply)(const RawAddress& bd_addr,
                                               bool is_yes);
  void (*UserPasskeyRequestReply)(const RawAddress& bd_addr, uint32_t value);
  void (*UserPasskeyRequestNegativeReply)(const RawAddress& bd_addr);
  void (*RemoteOobDataRequestReply)(const RawAddress& bd_addr, const Octet16& c,
                                    const Octet16& r);
  void (*RemoteOobDataRequestNegativeReply)(const RawAddress& bd_addr);
  void (*IoCapabilityRequestNegativeReply)(const RawAddress& bd_addr,
                                           uint8_t err_code);
  void (*EnhancedSetupSynchronousConnection)(uint16_t conn_handle,
                                             enh_esco_params_t* p_params);
  void (*EnhancedAcceptSynchronousConnection)(const RawAddress& bd_addr,
                                              enh_esco_params_t* p_params);
  void (*RemoteOobExtendedDataRequestReply)();

  // LINK_POLICY 0x08xx
  void (*HoldMode)(uint16_t handle, uint16_t max_hold_period,
                   uint16_t min_hold_period);
  void (*SniffMode)(uint16_t handle, uint16_t max_sniff_period,
                    uint16_t min_sniff_period, uint16_t sniff_attempt,
                    uint16_t sniff_timeout);
  void (*ExitSniffMode)(uint16_t handle);
  void (*QosSetup)(uint16_t handle, uint8_t flags, uint8_t service_type,
                   uint32_t token_rate, uint32_t peak, uint32_t latency,
                   uint32_t delay_var);
  // UNUSED 0x0808
  void (*RoleDiscovery)();
  void (*StartRoleSwitch)(const RawAddress& bd_addr, uint8_t role);
  void (*ReadLinkPolicySettings)();
  void (*WriteLinkPolicySettings)(uint16_t handle, uint16_t settings);
  void (*ReadDefaultLinkPolicySettings)();
  void (*WriteDefaultLinkPolicySettings)(uint16_t settings);
  void (*FlowSpecification)();
  void (*SniffSubrating)(uint16_t handle, uint16_t max_lat,
                         uint16_t min_remote_lat, uint16_t min_local_lat);

  // CONTROLLER_AND_BASEBAND 0x0Cxx
  void (*SetEventMask)();
  void (*Reset)();
  void (*SetEventFilter)(uint8_t filt_type, uint8_t filt_cond_type,
                         uint8_t* filt_cond, uint8_t filt_cond_len);
  void (*Flush)();
  void (*ReadPinType)();
  void (*WritePinType)(uint8_t type);
  void (*CreateNewUnitKey)();
  void (*ReadStoredLinkKey)();
  void (*WriteStoredLinkKey)();
  void (*DeleteStoredLinkKey)(const RawAddress& bd_addr, bool delete_all_flag);
  void (*WriteLocalName)(BD_NAME name);
  void (*ReadLocalName)();
  void (*ReadConnectionAcceptTimeout)();
  void (*WriteConnectionAcceptTimeout)(uint16_t timeout);
  void (*ReadPageTimeout)();
  void (*WritePageTimeout)();
  void (*ReadScanEnable)();
  void (*WriteScanEnable)(uint8_t flag);
  void (*ReadPageScanActivity)();
  void (*WritePageScanActivity)(uint16_t interval, uint16_t window);
  void (*ReadInquiryScanActivity)();
  void (*WriteInquiryScanActivity)(uint16_t interval, uint16_t window);
  void (*ReadAuthenticationEnable)();
  void (*WriteAuthenticationEnable)(uint8_t flag);
  void (*ReadClassOfDevice)();
  void (*WriteClassOfDevice)(DEV_CLASS dev_class);
  void (*ReadVoiceSetting)();
  void (*WriteVoiceSetting)(uint16_t flags);
  void (*ReadAutomaticFlushTimeout)(uint16_t handle);
  void (*WriteAutomaticFlushTimeout)(uint16_t handle, uint16_t tout);
  void (*ReadNumBroadcastRetransmits)();
  void (*WriteNumBroadcastRetransmits)();
  void (*ReadHoldModeActivity)();
  void (*WriteHoldModeActivity)();
  void (*ReadTransmitPowerLevel)(uint16_t handle, uint8_t type);
  void (*ReadSynchronousFlowControlEnable)();
  void (*WriteSynchronousFlowControlEnable)();
  void (*SetControllerToHostFlowControl)();
  void (*HostBufferSize)();
  void (*HostNumCompletedPackets)();
  void (*ReadLinkSupervisionTimeout)(uint16_t handle, uint16_t timeout);
  void (*WriteLinkSupervisionTimeout)();
  void (*ReadNumberOfSupportedIac)();
  void (*ReadCurrentIacLap)();
  void (*WriteCurrentIacLap)(uint8_t num_cur_iac, LAP* const iac_lap);
  void (*SetAfhHostChannelClassification)();
  void (*ReadInquiryScanType)();
  void (*WriteInquiryScanType)(uint8_t type);
  void (*ReadInquiryMode)();  // 0x0C44,
  void (*WriteInquiryMode)(uint8_t mode);
  void (*ReadPageScanType)();  // 0x0C46,
  void (*WritePageScanType)(uint8_t type);
  void (*ReadAfhChannelAssessmentMode)();
  void (*WriteAfhChannelAssessmentMode)();
  void (*ReadExtendedInquiryResponse)();
  void (*WriteExtendedInquiryResponse)(void* buffer, uint8_t fec_req);
  void (*RefreshEncryptionKey)();
  void (*ReadSimplePairingMode)();
  void (*WriteSimplePairingMode)();
  void (*ReadLocalOobData)();
  void (*ReadInquiryResponseTransmitPowerLevel)();
  void (*WriteInquiryTransmitPowerLevel)();
  void (*EnhancedFlush)(uint16_t handle, uint8_t packet_type);
  void (*SendKeypressNotification)(const RawAddress& bd_addr, uint8_t notif);

  // STATUS_PARAMETER 0x14xxS
  void (*ReadFailedContactCounter)(uint16_t handle);
  void (*ResetFailedContactCounter)();
  void (*ReadLinkQuality)(uint16_t handle);
  // UNUSED 0x1404
  void (*ReadRssi)(uint16_t handle);
  void (*ReadAfhChannelMap)();
  void (*ReadClock)();
  void (*ReadEncryptionKeySize)();
};

const Interface& GetInterface();