Lines Matching refs:ad

62 		uint8_t ad[CONFIG_BT_MESH_RPR_AD_TYPES_MAX];  member
118 static uint8_t *get_ad_type(uint8_t *list, size_t count, uint8_t ad) in get_ad_type() argument
123 if (ad == list[i] || (ad == BT_DATA_NAME_SHORTENED && in get_ad_type()
632 uint8_t *ad = NULL; in handle_extended_scan_start() local
648 ad = net_buf_simple_pull_mem(buf, ad_count); in handle_extended_scan_start()
650 if (ad[i] == BT_DATA_NAME_SHORTENED || in handle_extended_scan_start()
651 ad[i] == BT_DATA_UUID16_SOME || in handle_extended_scan_start()
652 ad[i] == BT_DATA_UUID32_SOME || in handle_extended_scan_start()
653 ad[i] == BT_DATA_UUID128_SOME) { in handle_extended_scan_start()
658 if (ad[i] == ad[j]) { in handle_extended_scan_start()
682 if (prov->uri && get_ad_type(ad, ad_count, BT_DATA_URI)) { in handle_extended_scan_start()
712 bt_hex(ad, ad_count)); in handle_extended_scan_start()
752 memcpy(srv.scan.ad, ad, ad_count); in handle_extended_scan_start()
1044 struct bt_data *ad) in adv_handle_beacon() argument
1050 if (ad->data[0] != 0x00 || (ad->data_len != 19 && ad->data_len != 23)) { in adv_handle_beacon()
1054 uuid = &ad->data[1]; in adv_handle_beacon()
1073 dev->oob = sys_get_be16(&ad->data[17]); in adv_handle_beacon()
1076 if (ad->data_len == 23) { in adv_handle_beacon()
1077 memcpy(&dev->hash, &ad->data[19], 4); in adv_handle_beacon()
1096 static bool pull_ad_data(struct net_buf_simple *buf, struct bt_data *ad) in pull_ad_data() argument
1109 ad->type = net_buf_simple_pull_u8(buf); in pull_ad_data()
1110 ad->data_len = len - sizeof(ad->type); in pull_ad_data()
1111 ad->data = net_buf_simple_pull_mem(buf, ad->data_len); in pull_ad_data()
1120 struct bt_data ad; in adv_handle_ext_scan() local
1136 while (pull_ad_data(buf, &ad)) { in adv_handle_ext_scan()
1137 if (ad.type == BT_DATA_URI) { in adv_handle_ext_scan()
1141 if (ad.type == BT_DATA_MESH_BEACON && !dev) { in adv_handle_ext_scan()
1142 dev = adv_handle_beacon(info, &ad); in adv_handle_ext_scan()
1144 } else if (ad.type == BT_DATA_URI && in adv_handle_ext_scan()
1148 if (bt_mesh_s1(ad.data, ad.data_len, hash) || in adv_handle_ext_scan()
1191 get_ad_type(srv.scan.ad, 1, BT_DATA_URI) && in adv_handle_ext_scan()
1196 while (srv.scan.ad_count && pull_ad_data(buf, &ad)) { in adv_handle_ext_scan()
1199 ad_entry = get_ad_type(srv.scan.ad, srv.scan.ad_count, ad.type); in adv_handle_ext_scan()
1200 if (!ad_entry || (ad.type == BT_DATA_URI && !uri_match)) { in adv_handle_ext_scan()
1204 LOG_DBG("AD type 0x%02x", ad.type); in adv_handle_ext_scan()
1206 if (ad.type == BT_DATA_URI) { in adv_handle_ext_scan()
1210 if (ad.data_len + 2 > in adv_handle_ext_scan()
1212 LOG_WRN("Can't fit AD 0x%02x in scan report", ad.type); in adv_handle_ext_scan()
1216 net_buf_simple_add_u8(srv.scan.adv_data, ad.data_len + 1); in adv_handle_ext_scan()
1217 net_buf_simple_add_u8(srv.scan.adv_data, ad.type); in adv_handle_ext_scan()
1218 net_buf_simple_add_mem(srv.scan.adv_data, ad.data, ad.data_len); in adv_handle_ext_scan()
1220 *ad_entry = srv.scan.ad[--srv.scan.ad_count]; in adv_handle_ext_scan()
1280 struct bt_data ad; in adv_handle_scan() local
1286 while (pull_ad_data(buf, &ad)) { in adv_handle_scan()
1287 if (ad.type == BT_DATA_MESH_BEACON) { in adv_handle_scan()
1288 adv_handle_beacon(info, &ad); in adv_handle_scan()