rc_avpair_get_raw(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_get_raw β€” from the radcli crew (Radius client library, bestie) ✨

okay so before we even start: yes, the manual page header says rc_avpair_get_raw(3) and the library it lives in is the Radius client library. There, that's the whole intro, we're caught up. 🫢


🌸 NAME 🌸

rc_avpair_get_raw β€” and that's genuinely it, the official description field is just empty, no cap. The manpage literally ends the line after the dash. So we're all just going to vibe with the name and find out what it does below. πŸ’€


πŸŽ€ SYNOPSIS πŸŽ€

#include <radcli/radcli.h>

int rc_avpair_get_raw(
    VALUE_PAIR  *vp,
    char       **res,
    unsigned    *res_size
);

look at her. three args. neat. slay. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

So what does this little icon actually do? It gets the raw value of the attribute value-pair you hand it. That's it. That's the job. Very demure, very mindful. 🧚

Here's the important bit though β€” this one only works for PW_TYPE_STRING, PW_TYPE_IPV6ADDR, and PW_TYPE_IPV6PREFIX. Those three. If your value-pair is something else, that's a different function's problem, not hers. ⭐


πŸ’œ PARAMETERS πŸ’œ

  • vp β€” a pointer to a VALUE_PAIR structure. the little guy you want the raw data out of. πŸŽ€
  • res β€” will contain pointer to the data value. she's writing into this one, so heads up. ✨
  • res_size β€” will contain the data size. so you know how much data you actually got, king. πŸ‘‘

🌈 STRUCTURES 🌈

bestie. listen to me. Avoid using this structure directly. Use the rc_avpair_get_ functions. The struct is giving forbidden knowledge, and the manpage said it in so many words. do not touch. πŸ™ˆ
struct rc_value_pair {
  char                   name[RC_NAME_LENGTH+1];      // attribute name if known.
  uint64_t               attribute; // attribute numeric value of type rc_attr_id including vendor; use VENDOR() and ATTRID() to separate.
  rc_attr_type           type;      // attribute type.
  uint32_t               lvalue;    // attribute value if type is PW_TYPE_INTEGER, PW_TYPE_DATE or PW_TYPE_IPADDR.
  char                   strvalue[AUTH_STRING_LEN+1];  // contains attribute value in other cases.
  struct rc_value_pair  *next;
  char                   pad[32];       // unused pad
};

that's the whole thing, comments and all, copied exactly because we do not mess with structs in this house. πŸ”₯


⭐ RETURN VALUE ⭐

zero on success, or -1 on failure. simple. binary. main character energy honestly. if you get -1, that's your sign from the universe. 😭


πŸ“ SEE ALSO πŸ“

the whole extended friend group, in order, exactly as listed, iykyk:


and that's the page!! πŸ’– this one shipped under the radcli name, dated 2023-01-29, and the footer also just says rc_avpair_get_raw(3) again because the page loves a little callback. go get your raw values, bestie, you've got this πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from