| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Modules | Macros | Functions
Parser for NDEF messages
NDEF message parser

Parser for NFC NDEF messages. More...

## Modules
| NFC NDEF message parser module configuration
| NDEF message parser (internal)
| Internal part of the parser for NFC NDEF messages.

## Macros
#define | NFC_NDEF_PARSER_REQIRED_MEMO_SIZE_CALC(max_count_of_records)
| Macro for calculating the memory size required for holding the description of a message that consists of a certain number of NDEF records. More...

## Functions
ret_code_t | ndef_msg_parser (uint8_t *const p_result_buf, uint32_t *const p_result_buf_len, uint8_t *const p_nfc_data, uint32_t *const p_nfc_data_len)
| Function for parsing NFC NDEF messages. More...
void | ndef_msg_printout (nfc_ndef_msg_desc_t *const p_msg_desc)
| Function for printing the parsed contents of an NDEF message. More...

## Detailed Description

Parser for NFC NDEF messages.

## Macro Definition Documentation

#define NFC_NDEF_PARSER_REQIRED_MEMO_SIZE_CALC | ( |  | max_count_of_records | ) |

Value:
((uint32_t)(max_count_of_records) <= 1) ? \
(sizeof(parsed_ndef_msg_1_t) * (uint32_t)(max_count_of_records)) : \
(sizeof(parsed_ndef_msg_1_t) + ((NFC_PARSER_M_DELTA) *((uint32_t)(max_count_of_records) - 1)))

Macro for calculating the memory size required for holding the description of a message that consists of a certain number of NDEF records.

Parameters

  [in] | max_count_of_records | Maximum number of records to hold.

## Function Documentation

ret_code_t ndef_msg_parser | ( | uint8_t *const | p_result_buf,
|  | uint32_t *const | p_result_buf_len,
|  | uint8_t *const | p_nfc_data,
|  | uint32_t *const | p_nfc_data_len
| ) |  |

Function for parsing NFC NDEF messages.

This function parses NDEF messages using NDEF binary record descriptors.

Parameters

  [out] | p_result_buf | Pointer to the buffer that will be used to hold the NDEF message descriptor. After parsing is completed successfully, the first address in the buffer is filled by the NDEF message descriptor (nfc_ndef_msg_desc_t), which provides a full description of the parsed NDEF message.
  [in,out] | p_result_buf_len | As input: size of the buffer specified by `p_result_buf`. As output: size of the reserved (used) part of the buffer specified by `p_result_buf`.
  [in] | p_nfc_data | Pointer to the data to be parsed.
  [in,out] | p_nfc_data_len | As input: size of the NFC data in the `p_nfc_data` buffer. As output: size of the parsed message.

Return values

  NRF_SUCCESS | If the function completed successfully.
  NRF_ERROR_NO_MEM | If the provided buffer is too small to hold a one-record message or the buffer is too small to hold the actual result of the parsing.
  NRF_ERROR_INVALID_LENGTH | If the expected message length is bigger than the amount of the provided input data.
  NRF_ERROR_INVALID_DATA | If the message is not a valid NDEF message.

void ndef_msg_printout | ( | nfc_ndef_msg_desc_t *const | p_msg_desc | ) |

Function for printing the parsed contents of an NDEF message.

Parameters

  [in] | p_msg_desc | Pointer to the descriptor of the message that should be printed.