Skip to content

Commit

Permalink
nimble/gap: Fix build in some uncommon configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
sjanc committed Jan 8, 2020
1 parent 28cbf7a commit 86561f7
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 18 deletions.
59 changes: 43 additions & 16 deletions nimble/host/src/ble_gap.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,13 +208,18 @@ static struct os_mempool ble_gap_update_entry_pool;
static struct ble_gap_update_entry_list ble_gap_update_entries;

static void ble_gap_update_entry_free(struct ble_gap_update_entry *entry);

#if NIMBLE_BLE_CONNECT
static struct ble_gap_update_entry *
ble_gap_update_entry_find(uint16_t conn_handle,
struct ble_gap_update_entry **out_prev);
static struct ble_gap_update_entry *
ble_gap_update_entry_remove(uint16_t conn_handle);

static void
ble_gap_update_l2cap_cb(uint16_t conn_handle, int status, void *arg);
#endif

static struct ble_gap_update_entry *
ble_gap_update_entry_remove(uint16_t conn_handle);

#if NIMBLE_BLE_ADVERTISE && !MYNEWT_VAL(BLE_EXT_ADV)
static int ble_gap_adv_enable_tx(int enable);
Expand Down Expand Up @@ -327,6 +332,7 @@ ble_gap_log_disc(uint8_t own_addr_type, int32_t duration_ms,
}
#endif

#if NIMBLE_BLE_CONNECT
static void
ble_gap_log_update(uint16_t conn_handle,
const struct ble_gap_upd_params *params)
Expand All @@ -338,6 +344,7 @@ ble_gap_log_update(uint16_t conn_handle,
params->latency, params->supervision_timeout,
params->min_ce_len, params->max_ce_len);
}
#endif

static void
ble_gap_log_wl(const ble_addr_t *addr, uint8_t white_list_count)
Expand Down Expand Up @@ -705,6 +712,7 @@ ble_gap_is_preempted(void)
return false;
}

#if NIMBLE_BLE_CONNECT
static void
ble_gap_master_reset_state(void)
{
Expand All @@ -714,6 +722,7 @@ ble_gap_master_reset_state(void)

ble_hs_timer_resched();
}
#endif

static void
ble_gap_slave_reset_state(uint8_t instance)
Expand All @@ -726,6 +735,7 @@ ble_gap_slave_reset_state(uint8_t instance)
#endif
}

#if NIMBLE_BLE_CONNECT
static bool
ble_gap_has_client(struct ble_gap_master_state *out_state)
{
Expand All @@ -751,6 +761,7 @@ ble_gap_master_extract_state(struct ble_gap_master_state *out_state,

ble_hs_unlock();
}
#endif

static void
ble_gap_slave_extract_cb(uint8_t instance,
Expand Down Expand Up @@ -790,6 +801,7 @@ ble_gap_adv_finished(uint8_t instance, int reason, uint16_t conn_handle,
}
}

#if NIMBLE_BLE_CONNECT
static int
ble_gap_master_connect_failure(int status)
{
Expand Down Expand Up @@ -832,6 +844,7 @@ ble_gap_master_connect_cancelled(void)
state.cb(&event, state.cb_arg);
}
}
#endif

#if NIMBLE_BLE_SCAN
static void
Expand Down Expand Up @@ -1005,6 +1018,7 @@ ble_gap_slave_set_timer(uint32_t ticks_from_now)
}
#endif

#if NIMBLE_BLE_CONNECT
/**
* Called when an error is encountered while the master-connection-fsm is
* active.
Expand Down Expand Up @@ -1039,6 +1053,7 @@ ble_gap_update_failed(uint16_t conn_handle, int status)

ble_gap_update_notify(conn_handle, status);
}
#endif

void
ble_gap_conn_broken(uint16_t conn_handle, int reason)
Expand Down Expand Up @@ -1090,6 +1105,7 @@ ble_gap_conn_broken(uint16_t conn_handle, int reason)
STATS_INC(ble_gap_stats, disconnect);
}

#if NIMBLE_BLE_CONNECT
static void
ble_gap_update_to_l2cap(const struct ble_gap_upd_params *params,
struct ble_l2cap_sig_update_params *l2cap_params)
Expand All @@ -1099,6 +1115,7 @@ ble_gap_update_to_l2cap(const struct ble_gap_upd_params *params,
l2cap_params->slave_latency = params->latency;
l2cap_params->timeout_multiplier = params->supervision_timeout;
}
#endif

void
ble_gap_rx_disconn_complete(const struct ble_hci_ev_disconn_cmp *ev)
Expand Down Expand Up @@ -1211,6 +1228,14 @@ ble_gap_master_in_progress(void)
return ble_gap_master.op != BLE_GAP_OP_NULL;
}

static int
ble_gap_adv_active_instance(uint8_t instance)
{
/* Assume read is atomic; mutex not necessary. */
return ble_gap_slave[instance].op == BLE_GAP_OP_S_ADV;
}

#if NIMBLE_BLE_CONNECT
static int
ble_gap_accept_master_conn(void)
{
Expand Down Expand Up @@ -1239,13 +1264,6 @@ ble_gap_accept_master_conn(void)
return rc;
}

static int
ble_gap_adv_active_instance(uint8_t instance)
{
/* Assume read is atomic; mutex not necessary. */
return ble_gap_slave[instance].op == BLE_GAP_OP_S_ADV;
}

static int
ble_gap_accept_slave_conn(uint8_t instance)
{
Expand All @@ -1269,6 +1287,7 @@ ble_gap_accept_slave_conn(uint8_t instance)

return rc;
}
#endif

#if NIMBLE_BLE_SCAN
static int
Expand Down Expand Up @@ -1311,15 +1330,14 @@ ble_gap_rx_adv_report(struct ble_gap_disc_desc *desc)
#endif
}

#if MYNEWT_VAL(BLE_EXT_ADV) && NIMBLE_BLE_SCAN
#if MYNEWT_VAL(BLE_EXT_ADV)
#if NIMBLE_BLE_SCAN
void
ble_gap_rx_le_scan_timeout(void)
{
ble_gap_disc_complete();
}
#endif

#if MYNEWT_VAL(BLE_EXT_ADV)
void
ble_gap_rx_ext_adv_report(struct ble_gap_ext_disc_desc *desc)
{
Expand All @@ -1329,6 +1347,7 @@ ble_gap_rx_ext_adv_report(struct ble_gap_ext_disc_desc *desc)

ble_gap_disc_report(desc);
}
#endif

void
ble_gap_rx_adv_set_terminated(const struct ble_hci_ev_le_subev_adv_set_terminated *ev)
Expand Down Expand Up @@ -1606,6 +1625,7 @@ ble_gap_rx_periodic_adv_sync_transfer(const struct ble_hci_ev_le_subev_periodic_
}
#endif

#if NIMBLE_BLE_CONNECT
static int
ble_gap_rd_rem_sup_feat_tx(uint16_t handle)
{
Expand All @@ -1617,6 +1637,7 @@ ble_gap_rd_rem_sup_feat_tx(uint16_t handle)
BLE_HCI_OCF_LE_RD_REM_FEAT),
&cmd, sizeof(cmd), NULL, 0);
}
#endif

/**
* Processes an incoming connection-complete HCI event.
Expand Down Expand Up @@ -4464,6 +4485,7 @@ ble_gap_conn_create_tx(uint8_t own_addr_type, const ble_addr_t *peer_addr,
#endif

#if MYNEWT_VAL(BLE_EXT_ADV)
#if MYNEWT_VAL(BLE_ROLE_CENTRAL)
static int
ble_gap_check_conn_params(uint8_t phy, const struct ble_gap_conn_params *params)
{
Expand Down Expand Up @@ -4619,6 +4641,7 @@ ble_gap_ext_conn_create_tx(
BLE_HCI_OCF_LE_EXT_CREATE_CONN),
cmd, len, NULL, 0);
}
#endif

/**
* Initiates a connect procedure.
Expand Down Expand Up @@ -5003,10 +5026,10 @@ ble_gap_conn_cancel_tx(void)
return 0;
}

#if NIMBLE_BLE_CONNECT
static int
ble_gap_conn_cancel_no_lock(void)
{
#if MYNEWT_VAL(BLE_ROLE_CENTRAL)
int rc;

STATS_INC(ble_gap_stats, cancel);
Expand All @@ -5032,10 +5055,8 @@ ble_gap_conn_cancel_no_lock(void)
}

return rc;
#else
return BLE_HS_ENOTSUP;
#endif
}
#endif

int
ble_gap_conn_cancel(void)
Expand All @@ -5058,6 +5079,7 @@ ble_gap_conn_cancel(void)
* $update connection parameters *
*****************************************************************************/

#if NIMBLE_BLE_CONNECT
static struct ble_gap_update_entry *
ble_gap_update_entry_alloc(void)
{
Expand All @@ -5070,6 +5092,7 @@ ble_gap_update_entry_alloc(void)

return entry;
}
#endif

static void
ble_gap_update_entry_free(struct ble_gap_update_entry *entry)
Expand Down Expand Up @@ -5129,6 +5152,7 @@ ble_gap_update_entry_remove(uint16_t conn_handle)
return entry;
}

#if NIMBLE_BLE_CONNECT
static void
ble_gap_update_l2cap_cb(uint16_t conn_handle, int status, void *arg)
{
Expand Down Expand Up @@ -5182,6 +5206,7 @@ ble_gap_tx_param_neg_reply(uint16_t conn_handle, uint8_t reject_reason)
BLE_HCI_OCF_LE_REM_CONN_PARAM_NRR),
&cmd, sizeof(cmd), NULL, 0);
}
#endif

void
ble_gap_rx_param_req(const struct ble_hci_ev_le_subev_rem_conn_param_req *ev)
Expand Down Expand Up @@ -5227,6 +5252,7 @@ ble_gap_rx_param_req(const struct ble_hci_ev_le_subev_rem_conn_param_req *ev)
#endif
}

#if NIMBLE_BLE_CONNECT
static int
ble_gap_update_tx(uint16_t conn_handle,
const struct ble_gap_upd_params *params)
Expand Down Expand Up @@ -5275,6 +5301,7 @@ ble_gap_validate_conn_params(const struct ble_gap_upd_params *params)

return true;
}
#endif

int
ble_gap_update_params(uint16_t conn_handle,
Expand Down
4 changes: 2 additions & 2 deletions nimble/host/src/ble_hs_hci_evt.c
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,7 @@ ble_hs_hci_evt_le_rd_rem_used_feat_complete(uint8_t subevent, const void *data,
return 0;
}

#if MYNEWT_VAL(BLE_EXT_ADV)
#if MYNEWT_VAL(BLE_EXT_ADV) && NIMBLE_BLE_SCAN
static int
ble_hs_hci_decode_legacy_type(uint16_t evt_type)
{
Expand All @@ -508,7 +508,7 @@ static int
ble_hs_hci_evt_le_ext_adv_rpt(uint8_t subevent, const void *data,
unsigned int len)
{
#if MYNEWT_VAL(BLE_EXT_ADV)
#if MYNEWT_VAL(BLE_EXT_ADV) && NIMBLE_BLE_SCAN
const struct ble_hci_ev_le_subev_ext_adv_rpt *ev = data;
const struct ext_adv_report *report;
struct ble_gap_ext_disc_desc desc;
Expand Down

0 comments on commit 86561f7

Please sign in to comment.