radcli_ctx_..._dictionary(3)

πŸ“¦ version 2.0.1, in arch rolling

πŸ’– NAME πŸ’–

radcli_ctx_read_dictionary β€” load an additional attribute dictionary, bestie. That’s the whole vibe. ✨


🌸 SYNOPSIS 🌸

#include <radcli/>

int radcli_ctx_read_dictionary(
    radcli_ctx  *ctx,
    const char  *path
);

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so picture this: radcli_ctx_read_dictionary parses path β€” like, the actual ATTRIBUTE/VALUE/VENDOR lines using radcli’s dictionary grammar β€” straight into ctx’s dictionary. Obsessed. πŸ’…

It is not needed for the common case, because radcli_ctx_read_config() already loads the file’s own dictionary= option. So don’t stress about it for the usual setup, fr fr.

Where it is useful? The programmatic ("backup") construction path, or when you wanna load more than one supplemental dictionary. Main character energy for extra dictionaries only. πŸ‘‘


πŸŽ€ PARAMETERS πŸŽ€

  • ctx β€” a context from radcli_ctx_new() or radcli_ctx_read_config(). Gotta have your context, bestie.
  • path β€” path to the dictionary file. Literally the file path. No cap.

⭐ RETURN VALUE ⭐

  • 0 on success. Slay. βœ…
  • -1 on failure. And the failure cases are: an unreadable file, or a parse error β€” including a conflicting redefinition of an already-loaded attribute. Yeah, that last one is giving β€œwe already have that at home” energy, and it is not a success. 😭

πŸ’œ SEE ALSO πŸ’œ


mwah πŸ’‹ this radcli_ctx_..._dictionary(3) page is from the Radius client library, and the cute little footer situation says source/version radcli with date 2026-10-10. Byeee 🫢

πŸ“¦ where this page comes from