TLV(3)

NAME
tlv_encode, tlv_decode - TLV Manipulation Functions

LIBRARY
Mifare card manipulation library (libfreefare, -lfreefare)

SYNOPSIS
#include <freefare.h>
uint8_t *
tlv_encode(const uint8_t type, const uint8_t *istream, uint16_t isize, size_t *osize);
uint8_t *
tlv_decode(const uint8_t *istream, uint8_t *type, uint16_t *size);

DESCRIPTION
The tlv_encode() and tlv_decode() functions are helpers to manipulate TLV (Text-Length-Value) data.

The tlv_encode() function converts the isize bytes long istream message into a TLV stream of type type and set the value of osize to the length of the returned stream.

The tlv_decode() function converts the istream TLV stream and set the type argument according to the type of the stream, and set the size argument to the length of the returned stream.

RETURN VALUES
Both functions return memory allocated using malloc(3) which should be reclaimed using free(3) after usage.

SEE ALSO
freefare(3), malloc(3), free(3)

AUTHORS
Romain Tartiere <romain@blogreen.org> Romuald Conty <romuald@libnfc.org>