Nordic nrf51 sdk sources. Mirrored from https://github.com/ARMmbed/nrf51-sdk.

Dependents:   nRF51822 nRF51822

source/nordic_sdk/components/ble/common/ble_advdata_parser.c

Committer:
vcoubard
Date:
2016-04-07
Revision:
19:47192cb9def7
Parent:
10:233fefd8162b
Child:
20:a90c48eb1d30

File content as of revision 19:47192cb9def7:

#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;
}