1 /* 2 * Copyright (c) 2018-2019 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 struct ll_scan_set { 8 struct ull_hdr ull; 9 struct lll_scan lll; 10 11 uint32_t ticks_window; 12 13 #if defined(CONFIG_BT_CTLR_ADV_EXT) 14 struct node_rx_hdr *node_rx_scan_term; 15 uint16_t duration_lazy; 16 17 uint8_t is_stop:1; 18 #endif /* CONFIG_BT_CTLR_ADV_EXT */ 19 20 uint8_t is_enabled:1; 21 uint8_t own_addr_type:2; 22 23 #if defined(CONFIG_BT_CTLR_SYNC_PERIODIC) 24 struct { 25 uint8_t sid; 26 27 uint8_t adv_addr_type:2; 28 uint8_t filter_policy:1; 29 uint8_t cancelled:1; 30 uint8_t state:2; 31 32 uint8_t adv_addr[BDADDR_SIZE]; 33 34 /* Non-Null when creating sync, reset in ISR context on 35 * synchronisation state and checked in Thread context when 36 * cancelling sync create, hence the volatile keyword. 37 */ 38 struct ll_sync_set *volatile sync; 39 } periodic; 40 #endif 41 }; 42 43 struct ll_scan_aux_set { 44 struct ull_hdr ull; 45 struct lll_scan_aux lll; 46 47 /* lll_scan or lll_sync */ 48 void *volatile parent; 49 50 struct node_rx_hdr *rx_head; 51 struct node_rx_hdr *rx_last; 52 53 uint16_t data_len; 54 55 #if defined(CONFIG_BT_CTLR_SYNC_PERIODIC) 56 struct node_rx_hdr *rx_incomplete; 57 #endif 58 }; 59