mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-10 06:40:23 +00:00
ad parser: started with convinient functions
This commit is contained in:
parent
fceccb23c6
commit
3430f18fef
@ -44,6 +44,13 @@
|
||||
|
||||
#include "ad_parser.h"
|
||||
|
||||
typedef enum {
|
||||
IncompleteList16 = 0x02,
|
||||
CompleteList16 = 0x03,
|
||||
IncompleteList128 = 0x06,
|
||||
CompleteList128 = 0x07
|
||||
} UUID_TYPE;
|
||||
|
||||
void ad_iterator_init(ad_context_t *context, uint8_t ad_len, uint8_t * ad_data){
|
||||
context->data = ad_data;
|
||||
context->length = ad_len;
|
||||
@ -71,3 +78,49 @@ uint8_t * ad_iterator_get_data(ad_context_t * context){
|
||||
return &context->data[context->offset + 2];
|
||||
}
|
||||
|
||||
int ad_data_contains_uuid16(uint8_t ad_len, uint8_t * ad_data, uint16_t uuid){
|
||||
ad_context_t context;
|
||||
for (ad_iterator_init(&context, ad_len, ad_data) ; ad_iterator_has_more(&context) ; ad_iterator_next(&context)){
|
||||
uint8_t data_type = ad_iterator_get_data_type(&context);
|
||||
uint8_t data_len = ad_iterator_get_data_len(&context);
|
||||
uint8_t * data = ad_iterator_get_data(&context);
|
||||
|
||||
switch (data_type){
|
||||
case IncompleteList16:
|
||||
case CompleteList16:
|
||||
// ... iterate through list of uuids
|
||||
break;
|
||||
case IncompleteList128:
|
||||
case CompleteList128:
|
||||
// ...
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ad_data_contains_uuid128(uint8_t ad_len, uint8_t * ad_data, uint8_t * uuid128){
|
||||
ad_context_t context;
|
||||
for (ad_iterator_init(&context, ad_len, ad_data) ; ad_iterator_has_more(&context) ; ad_iterator_next(&context)){
|
||||
uint8_t data_type = ad_iterator_get_data_type(&context);
|
||||
uint8_t data_len = ad_iterator_get_data_len(&context);
|
||||
uint8_t * data = ad_iterator_get_data(&context);
|
||||
|
||||
switch (data_type){
|
||||
case IncompleteList16:
|
||||
case CompleteList16:
|
||||
// ...
|
||||
break;
|
||||
case IncompleteList128:
|
||||
case CompleteList128:
|
||||
// ...
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user