Files
epd42/components/serialization/application/codecs/s110/serializers/ble_evt_app.h
Shuanglei Tao f353d23368 Initial commit
2024-11-11 15:35:36 +08:00

111 lines
4.8 KiB
C

/* Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
*
* The information contained herein is property of Nordic Semiconductor ASA.
* Terms and conditions of usage are described in detail in NORDIC
* SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
*
* Licensees are granted free, non-transferable use of the information. NO
* WARRANTY of ANY KIND is provided. This heading must NOT be removed from
* the file.
*
*/
#ifndef BLE_EVT_APP_H__
#define BLE_EVT_APP_H__
/**
* @addtogroup ser_codecs Serialization codecs
* @ingroup ble_sdk_lib_serialization
*/
/**
* @addtogroup ser_app_s110_codecs Application s110 codecs
* @ingroup ser_codecs
*/
/**@file
*
* @defgroup ble_evt_app Application event decoders
* @{
* @ingroup ser_app_s110_codecs
*
* @brief Application event decoders.
*/
#include "ble.h"
/**
* @brief Decodes ble_evt_tx_complete event.
*
* @sa @ref nrf51_evt_tx_complete_encoding for packet format.
*
* If \p p_event is null, the required length of \p p_event is returned in \p p_event_len.
*
* @param[in] p_buf Pointer to the beginning of an event packet.
* @param[in] packet_len Length (in bytes) of the event packet.
* @param[in,out] p_event Pointer to a \ref ble_evt_t buffer where the decoded event will be
* stored. If NULL, required length will be returned in \p p_event_len.
* @param[in,out] p_event_len \c in: Size (in bytes) of \p p_event buffer.
* \c out: Length of decoded contents of \p p_event.
*
* @retval NRF_SUCCESS Decoding success.
* @retval NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
* @retval NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
* @retval NRF_ERROR_DATA_SIZE Decoding failure. Length of \p p_event is too small to
* hold decoded event.
*/
uint32_t ble_evt_tx_complete_dec(uint8_t const * const p_buf,
uint32_t packet_len,
ble_evt_t * const p_event,
uint32_t * const p_event_len);
/**
* @brief Decodes ble_evt_user_mem_request event.
*
* @sa @ref nrf51_evt_user_mem_request_encoding for packet format.
*
* If \p p_event is null, the required length of \p p_event is returned in \p p_event_len.
*
* @param[in] p_buf Pointer to the beginning of an event packet.
* @param[in] packet_len Length (in bytes) of the event packet.
* @param[in,out] p_event Pointer to a \ref ble_evt_t buffer where the decoded event will be
* stored. If NULL, required length will be returned in \p p_event_len.
* @param[in,out] p_event_len \c in: Size (in bytes) of \p p_event buffer.
* \c out: Length of decoded contents of \p p_event.
*
* @retval NRF_SUCCESS Decoding success.
* @retval NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
* @retval NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
* @retval NRF_ERROR_DATA_SIZE Decoding failure. Length of \p p_event is too small to
* hold decoded event.
*/
uint32_t ble_evt_user_mem_request_dec(uint8_t const * const p_buf,
uint32_t packet_len,
ble_evt_t * const p_event,
uint32_t * const p_event_len);
/**
* @brief Decodes ble_evt_user_mem_release event.
*
* @sa @ref nrf51_evt_user_mem_release_encoding for packet format.
*
* If \p p_event is null, the required length of \p p_event is returned in \p p_event_len.
*
* @param[in] p_buf Pointer to the beginning of an event packet.
* @param[in] packet_len Length (in bytes) of the event packet.
* @param[in,out] p_event Pointer to a \ref ble_evt_t buffer where the decoded event will be
* stored. If NULL, required length will be returned in \p p_event_len.
* @param[in,out] p_event_len \c in: Size (in bytes) of \p p_event buffer.
* \c out: Length of decoded contents of \p p_event.
*
* @retval NRF_SUCCESS Decoding success.
* @retval NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
* @retval NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
* @retval NRF_ERROR_DATA_SIZE Decoding failure. Length of \p p_event is too small to
* hold decoded event.
*/
uint32_t ble_evt_user_mem_release_dec(uint8_t const * const p_buf,
uint32_t packet_len,
ble_evt_t * const p_event,
uint32_t * const p_event_len);
/** @} */
#endif