rc_avpair_new(3)

πŸ“¦
version 1.5.2 Β· 4 versions
, in alpine 3.24, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

πŸ’– rc_avpair_new β€” the Radius client library one πŸ’–

okay bestie, gather round, because we're doing the Radius client library thing today and this page lives in section 3 of the manual. it's called rc_avpair_new(3), she's a little function, she makes a brand new attribute-value pair, and honestly? she's kind of iconic for it. ✨


πŸŽ€ NAME πŸŽ€

rc_avpair_new -

(yes the description part is literally empty in the original, no cap, the man page author left that bit as a vibe and not a sentence πŸ’€ we respect it tho 🫢)


🌸 SYNOPSIS 🌸

#include <radcli/radcli.h>

VALUE_PAIR * rc_avpair_new(
    rc_handle const  *rh,
    uint32_t          attrid,
    void const       *pval,
    int               len,
    uint32_t          vendorspec
);

✨ DESCRIPTION ✨

so the whole job here is: make a new attribute-value pair with the given parameters. that's it. that's the gig. πŸ’…

and for the tea on what the data inside should actually look like, go peek at rc_avpair_assign() β€” she's the one holding the format lore. πŸ“–


πŸ¦‹ PARAMETERS πŸ¦‹

  • rh β€” a handle to your parsed configuration. like, the already-understood config, not the raw file, bestie.
  • attrid β€” the attribute of the pair you're adding (e.g., PW_USER_NAME).
  • pval β€” the value itself (e.g., the actual username, the real one, the main character of the data).
  • len β€” the length of pval, or -1 if you want it calculated for you (this is the move for strings).
  • vendorspec β€” the vendor ID, but ONLY in the case of a vendor specific value. otherwise? it's 0. zero. nothing. zip. don't be weird about it. πŸ™ˆ

πŸ‘‘ RETURN VALUE πŸ‘‘

you get back a pointer to the generated a/v pair when it works out. and NULL when it fails. so like… check her. always check her. 😭


🌈 SEE ALSO 🌈

radcli.h(3), rc_aaa(3), rc_aaa_ctx(3), rc_aaa_ctx_free(3), rc_aaa_ctx_get_secret(3), rc_aaa_ctx_get_vector(3), rc_aaa_ctx_server(3), rc_acct(3), rc_acct_proxy(3), rc_add_config(3), rc_apply_config(3), rc_auth(3), rc_auth_proxy(3), rc_avpair_add(3), rc_avpair_assign(3), rc_avpair_copy(3), rc_avpair_free(3), rc_avpair_gen(3), rc_avpair_get(3), rc_avpair_get_attr(3), rc_avpair_get_in6(3), rc_avpair_get_raw(3), rc_avpair_get_uint32(3), rc_avpair_insert(3), rc_avpair_log(3), rc_avpair_new(3), rc_avpair_next(3), rc_avpair_parse(3), rc_avpair_remove(3), rc_avpair_tostr(3), rc_buildreq(3), rc_check(3), rc_check_tls(3), rc_conf_int(3), rc_conf_srv(3), rc_conf_str(3), rc_config_free(3), rc_config_init(3), rc_destroy(3), rc_dict_addattr(3), rc_dict_addval(3), rc_dict_addvend(3), rc_dict_findattr(3), rc_dict_findval(3), rc_dict_findvend(3), rc_dict_free(3), rc_dict_getattr(3), rc_dict_getval(3), rc_dict_getvend(3), rc_find_server_addr(3), rc_get_socket_type(3), rc_get_srcaddr(3), rc_getport(3), rc_mksid(3), rc_new(3), rc_openlog(3), rc_own_hostname(3), rc_read_config(3), rc_read_dictionary(3), rc_read_dictionary_from_buffer(3), rc_send_server(3), rc_setdebug(3), rc_test_config(3), rc_tls_fd(3), rc_avpair_assign()

that last one, rc_avpair_assign(), shows up with no section number in the source list, so we're keeping it exactly as-is. no editing, no "fixing", we don't do that here. 🫢

and that's the whole page, bestie!! this one came from radcli and she's dated 2023-01-29 β€” love that for her, love that for us, go make some attribute-value pairs πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from