radcli_avp_add_str(3) Radius client library radcli_avp_add_str(3)

radcli_avp_add_str - Append a string- or text-typed attribute.

#include <radcli/>

int radcli_avp_add_str(
    radcli_avp_list        *list,
    const radcli_attr_def  *def,
    const char             *value
);

Accepts both RADCLI_TYPE_STRING and RADCLI_TYPE_TEXT attributes. For RADCLI_TYPE_STRING, value's bytes are copied verbatim (opaque octets, no validation) unchanged from this function's original behavior, so that a caller already using it against an attribute later retagged from "string" to "text" (RFC 8044 SS3.1) in the dictionary keeps working rather than starting to fail with the retag. For RADCLI_TYPE_TEXT, value must additionally be valid UTF-8; invalid UTF-8 is rejected rather than stored.

destination list.
the attribute; must be RADCLI_TYPE_STRING or RADCLI_TYPE_TEXT.
a null-terminated string.

0 on success, -1 on failure (def is neither RADCLI_TYPE_STRING nor RADCLI_TYPE_TEXT, value is invalid UTF-8 for a RADCLI_TYPE_TEXT def, or as radcli_avp_add_bytes()).

radcli_avp_add_bytes(3), radcli_avp_add_bytes_by_num(3), radcli_avp_add_gigawords64(3), radcli_avp_add_gigawords64_by_num(3), radcli_avp_add_ip4(3), radcli_avp_add_ip4_by_num(3), radcli_avp_add_ip4prefix(3), radcli_avp_add_ip4prefix_by_num(3), radcli_avp_add_ip6(3), radcli_avp_add_ip6_by_num(3), radcli_avp_add_str_by_num(3), radcli_avp_add_uint32(3), radcli_avp_add_uint32_by_num(3), radcli_avp_add_uint64(3), radcli_avp_add_uint64_by_num(3), radcli_avp_add_username(3), radcli_avp_concat_str(3), radcli_avp_concat_str_by_num(3), radcli_avp_def(3), radcli_avp_get(3), radcli_avp_get_by_num(3), radcli_avp_get_bytes(3), radcli_avp_get_bytes_by_num(3), radcli_avp_get_cstr(3), radcli_avp_get_cstr_by_num(3), radcli_avp_get_gigawords64(3), radcli_avp_get_gigawords64_by_num(3), radcli_avp_get_ip4prefix(3), radcli_avp_get_ip4prefix_by_num(3), radcli_avp_get_ip6(3), radcli_avp_get_ip6_by_num(3), radcli_avp_get_uint32(3), radcli_avp_get_uint32_by_num(3), radcli_avp_get_uint64(3), radcli_avp_get_uint64_by_num(3), radcli_avp_iter_next(3), radcli_avp_list_error(3), radcli_avp_list_free(3), radcli_avp_list_iter(3), radcli_avp_list_new(3)

2026-09-03 radcli