24 RCSIDH(decode_h,
"$Id: 702cdf5a800c628fcb4ae46a781a3e027b9cdaa4 $")
30 #include <freeradius-devel/util/pair.h>
31 #include <freeradius-devel/util/dns.h>
47 uint8_t const *
data,
size_t const data_len,
void *decode_ctx);
51 #define PROTO_DECODE_FUNC(_name) static ssize_t decode_ ## _name(TALLOC_CTX *ctx, fr_pair_list_t *out, \
52 fr_dict_attr_t const *parent, \
53 uint8_t const *data, size_t const data_len, void *decode_ctx)
65 bool nested) CC_HINT(
nonnull(1,2,3,4,7));
bool(* fr_pair_tlvs_verify_t)(uint8_t const *data, size_t const data_len)
ssize_t fr_pair_array_from_network(TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dict_attr_t const *parent, uint8_t const *data, size_t data_len, void *decode_ctx, fr_pair_decode_value_t decode_value))
Decode an array of values from the network.
ssize_t(* fr_pair_decode_value_t)(TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dict_attr_t const *parent, uint8_t const *data, size_t const data_len, void *decode_ctx)
Decode a value from the network into an output fr_pair_list_t.
ssize_t fr_pair_tlvs_from_network(TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dict_attr_t const *parent, uint8_t const *data, size_t const data_len, void *decode_ctx, fr_pair_decode_value_t decode_tlv, fr_pair_tlvs_verify_t verify_tlvs, bool nested))
Decode a list of pairs from the network.
ssize_t fr_pair_dns_labels_from_network(TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dict_attr_t const *parent, uint8_t const *start, uint8_t const *data, size_t const data_len, fr_dns_labels_t *lb, bool exact)
Decode a DNS label or a list of DNS labels from the network.
ssize_t fr_pair_raw_from_network(TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dict_attr_t const *parent, uint8_t const *data, size_t data_len)
Create a "raw" pair from the network data.
static bool verify_tlvs(uint8_t const *data, size_t data_len)
static size_t char ** out