Nordic stack and drivers for the mbed BLE API

Fork of nRF51822 by Nordic Semiconductor

nordic/ble/ble_advdata_parser.cpp

Committer:
todotani
Date:
2014-09-05
Revision:
61:214f61f4d5f8
Parent:
0:eff01767de02

File content as of revision 61:214f61f4d5f8:

#include "ble_advdata_parser.h"

uint32_t ble_advdata_parser_field_find(uint8_t type, uint8_t * p_advdata, uint8_t * len, uint8_t ** pp_field_data)
{
    uint32_t index = 0;
    
    while (index < *len)
    {
        uint8_t field_length = p_advdata[index];
        uint8_t field_type = p_advdata[index+1];
        
        if (field_type == type)
        {
            *pp_field_data = &p_advdata[index+2];
            *len = field_length-1;
            return NRF_SUCCESS;
        }
        index += field_length+1;
    }
    return NRF_ERROR_NOT_FOUND;
}