cvb

Fork of nrf51-sdk by Lancaster University

Committer:
Jonathan Austin
Date:
Wed Apr 06 23:55:04 2016 +0100
Revision:
0:bc2961fa1ef0
Synchronized with git rev 90647e3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jonathan Austin 0:bc2961fa1ef0 1 /*
Jonathan Austin 0:bc2961fa1ef0 2 * Copyright (c) Nordic Semiconductor ASA
Jonathan Austin 0:bc2961fa1ef0 3 * All rights reserved.
Jonathan Austin 0:bc2961fa1ef0 4 *
Jonathan Austin 0:bc2961fa1ef0 5 * Redistribution and use in source and binary forms, with or without modification,
Jonathan Austin 0:bc2961fa1ef0 6 * are permitted provided that the following conditions are met:
Jonathan Austin 0:bc2961fa1ef0 7 *
Jonathan Austin 0:bc2961fa1ef0 8 * 1. Redistributions of source code must retain the above copyright notice, this
Jonathan Austin 0:bc2961fa1ef0 9 * list of conditions and the following disclaimer.
Jonathan Austin 0:bc2961fa1ef0 10 *
Jonathan Austin 0:bc2961fa1ef0 11 * 2. Redistributions in binary form must reproduce the above copyright notice, this
Jonathan Austin 0:bc2961fa1ef0 12 * list of conditions and the following disclaimer in the documentation and/or
Jonathan Austin 0:bc2961fa1ef0 13 * other materials provided with the distribution.
Jonathan Austin 0:bc2961fa1ef0 14 *
Jonathan Austin 0:bc2961fa1ef0 15 * 3. Neither the name of Nordic Semiconductor ASA nor the names of other
Jonathan Austin 0:bc2961fa1ef0 16 * contributors to this software may be used to endorse or promote products
Jonathan Austin 0:bc2961fa1ef0 17 * derived from this software without specific prior written permission.
Jonathan Austin 0:bc2961fa1ef0 18 *
Jonathan Austin 0:bc2961fa1ef0 19 *
Jonathan Austin 0:bc2961fa1ef0 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
Jonathan Austin 0:bc2961fa1ef0 21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
Jonathan Austin 0:bc2961fa1ef0 22 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Jonathan Austin 0:bc2961fa1ef0 23 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
Jonathan Austin 0:bc2961fa1ef0 24 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
Jonathan Austin 0:bc2961fa1ef0 25 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
Jonathan Austin 0:bc2961fa1ef0 26 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
Jonathan Austin 0:bc2961fa1ef0 27 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
Jonathan Austin 0:bc2961fa1ef0 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
Jonathan Austin 0:bc2961fa1ef0 29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Jonathan Austin 0:bc2961fa1ef0 30 *
Jonathan Austin 0:bc2961fa1ef0 31 */
Jonathan Austin 0:bc2961fa1ef0 32
Jonathan Austin 0:bc2961fa1ef0 33
Jonathan Austin 0:bc2961fa1ef0 34 #ifndef PEER_DATA_H__
Jonathan Austin 0:bc2961fa1ef0 35 #define PEER_DATA_H__
Jonathan Austin 0:bc2961fa1ef0 36
Jonathan Austin 0:bc2961fa1ef0 37 #include <stdint.h>
Jonathan Austin 0:bc2961fa1ef0 38 #include "peer_manager_types.h"
Jonathan Austin 0:bc2961fa1ef0 39 #include "fds.h"
Jonathan Austin 0:bc2961fa1ef0 40
Jonathan Austin 0:bc2961fa1ef0 41
Jonathan Austin 0:bc2961fa1ef0 42 /**
Jonathan Austin 0:bc2961fa1ef0 43 * @defgroup peer_data Peer Data
Jonathan Austin 0:bc2961fa1ef0 44 * @ingroup peer_manager
Jonathan Austin 0:bc2961fa1ef0 45 * @{
Jonathan Austin 0:bc2961fa1ef0 46 * @brief An internal module of @ref peer_manager. This module defines the structure of the data
Jonathan Austin 0:bc2961fa1ef0 47 * that is managed by the @ref peer_manager. It also provides functions for parsing the data.
Jonathan Austin 0:bc2961fa1ef0 48 */
Jonathan Austin 0:bc2961fa1ef0 49
Jonathan Austin 0:bc2961fa1ef0 50
Jonathan Austin 0:bc2961fa1ef0 51 /**@brief Function for enumerating the separate (non-contiguous) parts of the peer data.
Jonathan Austin 0:bc2961fa1ef0 52 *
Jonathan Austin 0:bc2961fa1ef0 53 * @param[in] p_peer_data The peer data to enumerate.
Jonathan Austin 0:bc2961fa1ef0 54 * @param[out] p_chunks The resulting chunks. This must be an array of at least 2 elements.
Jonathan Austin 0:bc2961fa1ef0 55 * @param[out] p_n_chunks The number of chunks. If this is 0, something went wrong.
Jonathan Austin 0:bc2961fa1ef0 56 */
Jonathan Austin 0:bc2961fa1ef0 57 void peer_data_parts_get(pm_peer_data_const_t const * p_peer_data, fds_record_chunk_t * p_chunks, uint16_t * p_n_chunks);
Jonathan Austin 0:bc2961fa1ef0 58
Jonathan Austin 0:bc2961fa1ef0 59
Jonathan Austin 0:bc2961fa1ef0 60 /**@brief Function for converting @ref pm_peer_data_flash_t into @ref pm_peer_data_t.
Jonathan Austin 0:bc2961fa1ef0 61 *
Jonathan Austin 0:bc2961fa1ef0 62 * @param[in] p_in_data The source data.
Jonathan Austin 0:bc2961fa1ef0 63 * @param[out] p_out_data The target data structure.
Jonathan Austin 0:bc2961fa1ef0 64 *
Jonathan Austin 0:bc2961fa1ef0 65 * @retval NRF_SUCCESS Successful conversion.
Jonathan Austin 0:bc2961fa1ef0 66 * @retval NRF_ERROR_NULL A parameter was NULL.
Jonathan Austin 0:bc2961fa1ef0 67 * @retval NRF_ERROR_NO_MEM A buffer was not large enough.
Jonathan Austin 0:bc2961fa1ef0 68 */
Jonathan Austin 0:bc2961fa1ef0 69 ret_code_t peer_data_deserialize(pm_peer_data_flash_t const * p_in_data, pm_peer_data_t * p_out_data);
Jonathan Austin 0:bc2961fa1ef0 70
Jonathan Austin 0:bc2961fa1ef0 71 /** @} */
Jonathan Austin 0:bc2961fa1ef0 72
Jonathan Austin 0:bc2961fa1ef0 73 #endif /* PEER_DATA_H__ */