rc_avpair_get_in6(3)
π rc_avpair_get_in6 β bestie's guide to yanking IPv6 addys out of a value-pair π
okay so real talk, this one lives in the Radius client library, and its manual page is literally rc_avpair_get_in6(3). She's a lil function that pulls IPv6 info out of an attribute value-pair. No cap. Let's get into it π¦
β¨ NAME β¨
rc_avpair_get_in6 β (yeah the original page literally leaves the description blank, iconic behaviour honestly, the synopsis speaks for itself π
)
πΈ SYNOPSIS πΈ
#include <radcli/radcli.h>
int rc_avpair_get_in6(
VALUE_PAIR *vp,
struct in6_addr *res,
unsigned *prefix
);
π DESCRIPTION π
She gets the IPv6 address and prefix value of the given attribute value-pair. That's the whole job, and she does it slayfully.
This function is valid for PW_TYPE_IPV6ADDR and PW_TYPE_IPV6PREFIX. Like, those are the only types she fw. Anything else? Not her problem, bestie π
π«Ά PARAMETERS π«Ά
vpβ a pointer to aVALUE_PAIRstructure. This is the thing you're snooping through.resβ anin6_addrstructure for the result to be copied in. That's where the address lands, periodt.prefixβ if it's of typePW_TYPE_IPV6PREFIXthe prefix will be copied in here (may beNULL, so it's optional, lowkey chill about it).
π§ STRUCTURES π§
β οΈ bestie please β avoid using this structure directly. Use the rc_avpair_get_ functions. Direct struct access is giving chaos energy.
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
};
π RETURN VALUE π
- zero on success π
- -1 on failure π
π SEE ALSO π
The whole friend group showed up, fr fr:
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)
and that's the whole page, bestie π«Ά this one's brought to you by radcli, dated 2023-01-29 β go forth and parse those IPv6 addys, you absolute icon πβ¨
π¦ where this page comes from
- alpine 3.24: radcli-doc 1.4.0-r0 Β· BSD-2-Clause AND MIT
- epel 10: radcli-devel 1.5.2-3.el10_3 Β· BSD-2-Clause AND UMich-Merit AND HPND-Fenneberg-Livingston
- fedora 43: radcli-devel 1.4.0-5.fc43 Β· BSD-2-Clause AND UMich-Merit AND HPND-Fenneberg-Livingston
- fedora 43: radcli-devel 1.4.0-5.fc43 Β· BSD-2-Clause AND UMich-Merit AND HPND-Fenneberg-Livingston
- fedora 44: radcli-devel 1.4.0-6.fc44 Β· BSD-2-Clause AND UMich-Merit AND HPND-Fenneberg-Livingston
- fedora 44: radcli-devel 1.4.0-6.fc44 Β· BSD-2-Clause AND UMich-Merit AND HPND-Fenneberg-Livingston
- fedora 44: radcli-devel 1.5.2-3.fc44 Β· BSD-2-Clause AND UMich-Merit AND HPND-Fenneberg-Livingston
- fedora 44: radcli-devel 1.5.2-3.fc44 Β· BSD-2-Clause AND UMich-Merit AND HPND-Fenneberg-Livingston
- nixos 26.05: radcli 1.5.1
- nixpkgs unstable: radcli 1.5.2
- opensuse-leap 16.0: radcli-devel 1.4.0-bp160.1.11 Β· BSD-2-Clause AND MIT
- opensuse-leap 16.0: radcli-devel 1.4.0-bp160.1.11 Β· BSD-2-Clause AND MIT
- opensuse-leap 16.0: radcli-devel 1.4.0-bp160.1.11 Β· BSD-2-Clause AND MIT
- opensuse-leap 16.0: radcli-devel 1.4.0-bp160.1.11 Β· BSD-2-Clause AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms