rc_read_dictionary(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_read_dictionary β€” the radcli dictionary loader πŸ’–

okay bestie, so you found the manual page for rc_read_dictionary, a function from the radcli Radius client library. quick heads up: the NAME line in the original is literally just the function name with a dangling dash and no description at all 😭 so we're all learning together. it's giving mysterious. it's giving "figure it out". but don't worry, the rest of the page actually spills the tea ✨


✨ SYNOPSIS ✨

#include <radcli/radcli.h>

int rc_read_dictionary(
    rc_handle   *rh,
    char const  *filename
);

that's it. that's the whole vibe. two args, one int back. πŸŽ€


🌸 DESCRIPTION 🌸

Initialize the dictionary. that's the whole mission, bestie β€” initialize the dictionary. πŸ¦‹

so what does that actually mean? here's the rundown:

  • Read all ATTRIBUTES into the dictionary_attributes list.
  • Read all VALUES into the dictionary_values list.

so it slurps up your attribute definitions and your value definitions and files them away in those two lists, and now your handle actually knows what all the Radius attribute names and numbers mean. iconic behavior honestly πŸ‘‘


πŸ’… PARAMETERS πŸ’…

  • rh β€” a handle to parsed configuration. it's the main character here, the thing holding all your parsed config state. 🫢
  • filename β€” the name of the dictionary file. yes, the file you want it to read. shockingly on-the-nose, we love that for it. πŸ“–βœ¨

🎯 RETURN VALUE 🎯

  • 0 on success 🌈 β€” the dictionary read, the lists filled, everything ate and left no crumbs.
  • -1 on failure πŸ’€ β€” something went sideways, bestie. check your filename fr fr.
no cap: it's literally just 0 or -1. no in-between, no subtlety, no grey area. binary queen energy. πŸ’…

πŸ‘€ SEE ALSO πŸ‘€

okay so this function has a huge friend group, and you should absolutely know all of them. here's the whole squad, no one left out, periodt:

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)

like I said. huge friend group. go read them all, iykyk. πŸ§šπŸ’œ


and that's the whole page, bestie! this one came from the radcli project and the page itself is dated 2023-01-29 β€” so if you're citing it, that's the version stamp, and yes it's giving vintage but in a cute archival way 🌸. now go read your dictionary and slay πŸ’…βœ¨

πŸ“¦ where this page comes from