radcli2.h(3)

πŸ“¦ version 2.0.1, in arch rolling

Okay bestie, welcome to radcli2.h(3) from the Radius client library β€” yes, that's the manual page title, and it's lowkey iconic. This is the header that brings the whole function roster, and I'm gonna lay it out without skipping a single thing. πŸ’–

πŸŽ€ NAME πŸŽ€

radcli2.h β€” that's it, that's the name. The manual page is radcli2.h(3), and it belongs to the Radius client library. No cap.

✨ SYNOPSIS ✨

To pull this header in, you literally just do:

#include <radcli/radcli2.h>

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so the description here is the full squad of declarations living in the header. I'm not gatekeeping, not summarising, not dropping a single one β€” every signature is below exactly as it appears. Copy them with care, bestie. πŸ’…

              int            radcli_aaa(radcli_ctx *, radcli_code, const radcli_avp_list *, radcli_code *, radcli_avp_list **);
              const char    *radcli_attr_def_name(const radcli_attr_def *);
              int            radcli_attr_def_oid(const radcli_attr_def *, char *, size_t);
              radcli_attr_type radcli_attr_def_type(const radcli_attr_def *);
              int            radcli_avp_add_bytes(radcli_avp_list *, const radcli_attr_def *, const void *, size_t);
              int            radcli_avp_add_bytes_by_num(radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, const void *, size_t);
              int            radcli_avp_add_gigawords64(radcli_ctx *, radcli_avp_list *, const radcli_attr_def *, uint64_t);
              int            radcli_avp_add_gigawords64_by_num(radcli_ctx *, radcli_avp_list *, uint32_t, uint32_t, uint64_t);
              int            radcli_avp_add_ip4(radcli_avp_list *, const radcli_attr_def *, struct in_addr);
              int            radcli_avp_add_ip4_by_num(radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, struct in_addr);
              int            radcli_avp_add_ip4prefix(radcli_avp_list *, const radcli_attr_def *, struct in_addr, unsigned);
              int            radcli_avp_add_ip4prefix_by_num(radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, struct in_addr, unsigned);
              int            radcli_avp_add_ip6(radcli_avp_list *, const radcli_attr_def *, const struct in6_addr *, unsigned);
              int            radcli_avp_add_ip6_by_num(radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, const struct in6_addr *, unsigned);
              int            radcli_avp_add_str(radcli_avp_list *, const radcli_attr_def *, const char *);
              int            radcli_avp_add_str_by_num(radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, const char *);
              int            radcli_avp_add_uint32(radcli_avp_list *, const radcli_attr_def *, uint32_t);
              int            radcli_avp_add_uint32_by_num(radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, uint32_t);
              int            radcli_avp_add_uint64(radcli_avp_list *, const radcli_attr_def *, uint64_t);
              int            radcli_avp_add_uint64_by_num(radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, uint64_t);
              int            radcli_avp_add_username(radcli_avp_list *, const radcli_ctx *, const char *, const char *);
              int            radcli_avp_concat_str(char *, size_t, const radcli_avp_list *, const radcli_attr_def *, const char *);
              int            radcli_avp_concat_str_by_num(char *, size_t, const radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, const char *);
              const radcli_attr_def*radcli_avp_def(const radcli_avp *);
              const radcli_avp*radcli_avp_get(const radcli_avp_list *, const radcli_attr_def *, unsigned);
              const radcli_avp*radcli_avp_get_by_num(const radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, unsigned);
              int            radcli_avp_get_bytes(const radcli_avp *, const void **, size_t *);
              int            radcli_avp_get_bytes_by_num(const radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, const void **, size_t *);
              const char    *radcli_avp_get_cstr(const radcli_avp *);
              const char    *radcli_avp_get_cstr_by_num(const radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t);
              int            radcli_avp_get_gigawords64(const radcli_ctx *, const radcli_avp_list *, const radcli_attr_def *, uint64_t *);
              int            radcli_avp_get_gigawords64_by_num(const radcli_ctx *, const radcli_avp_list *, uint32_t, uint32_t, uint64_t *);
              int            radcli_avp_get_ip4prefix(const radcli_avp *, struct in_addr *, unsigned *);
              int            radcli_avp_get_ip4prefix_by_num(const radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, struct in_addr *, unsigned *);
              int            radcli_avp_get_ip6(const radcli_avp *, struct in6_addr *, unsigned *);
              int            radcli_avp_get_ip6_by_num(const radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, struct in6_addr *, unsigned *);
              int            radcli_avp_get_uint32(const radcli_avp *, uint32_t *);
              int            radcli_avp_get_uint32_by_num(const radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, uint32_t *);
              int            radcli_avp_get_uint64(const radcli_avp *, uint64_t *);
              int            radcli_avp_get_uint64_by_num(const radcli_avp_list *, const radcli_ctx *, uint32_t, uint32_t, uint64_t *);
              const radcli_avp*radcli_avp_iter_next(radcli_avp_iter *);
              int            radcli_avp_list_error(const radcli_avp_list *);
              void           radcli_avp_list_free(radcli_avp_list *);
              radcli_avp_iter radcli_avp_list_iter(const radcli_avp_list *);
              radcli_avp_list*radcli_avp_list_new(void);
              int            radcli_ctx_apply(radcli_ctx *);
              int            radcli_ctx_dispatch(radcli_ctx *);
              void           radcli_ctx_free(radcli_ctx *);
              int            radcli_ctx_get_opt_int(const radcli_ctx *, radcli_opt_id, long *);
              const char    *radcli_ctx_get_opt_str(const radcli_ctx *, radcli_opt_id);
              int            radcli_ctx_get_poll(radcli_ctx *, struct pollfd *, size_t, size_t *, int *);
              radcli_ctx    *radcli_ctx_new(unsigned);
              radcli_ctx    *radcli_ctx_read_config(const char *, unsigned);
              int            radcli_ctx_read_dictionary(radcli_ctx *, const char *);
              int            radcli_ctx_read_dictionary_from_buffer(radcli_ctx *, const char *, size_t);
              int            radcli_ctx_set_opt_int(radcli_ctx *, radcli_opt_id, long);
              int            radcli_ctx_set_opt_str(radcli_ctx *, radcli_opt_id, const char *);
              int            radcli_ctx_set_secret(radcli_ctx *, unsigned, const char *);
              int            radcli_ctx_set_tls_psk(radcli_ctx *, const void *, size_t, const uint8_t *, size_t);
              void           radcli_dae_free(radcli_dae *);
              radcli_dae    *radcli_dae_new(radcli_ctx *, unsigned);
              int            radcli_dae_process(radcli_dae *, const void *, size_t, const struct sockaddr *, socklen_t, radcli_dae_request **);
              int            radcli_dae_reply(radcli_dae_request *, int);
              int            radcli_dae_reply_error(radcli_dae_request *, uint32_t);
              int            radcli_dae_reply_to_buffer(radcli_dae_request *, int, uint32_t, void *, size_t *);
              const radcli_avp_list*radcli_dae_req_attrs(const radcli_dae_request *);
              radcli_code    radcli_dae_req_code(const radcli_dae_request *);
              int            radcli_dae_req_framed_ip(const radcli_dae_request *, struct sockaddr_storage *);
              int            radcli_dae_req_nas_port(const radcli_dae_request *, uint32_t *);
              const char    *radcli_dae_req_session_id(const radcli_dae_request *);
              const char    *radcli_dae_req_user_name(const radcli_dae_request *);
              void           radcli_dae_request_free(radcli_dae_request *);
              void           radcli_dae_set_handler(radcli_dae *, radcli_dae_handler, void *);
              int            radcli_dae_start(radcli_dae *);
              const radcli_attr_def*radcli_dict_lookup(const radcli_ctx *, const char *);
              const radcli_attr_def*radcli_dict_lookup_num(const radcli_ctx *, uint32_t, uint32_t);
              const radcli_attr_def*radcli_dict_lookup_oid(const radcli_ctx *, const char *);
              int            radcli_dict_lookup_value(const radcli_ctx *, const radcli_attr_def *, const char *, uint32_t *);
              const radcli_avp_list*radcli_request_attrs(const radcli_request *);
              radcli_code    radcli_request_code(const radcli_request *);
              int            radcli_request_done(radcli_request *);
              void           radcli_request_free(radcli_request *);
              radcli_request*radcli_request_new(radcli_ctx *, radcli_code, const radcli_avp_list *);
              int            radcli_request_perform(radcli_request *, unsigned);
              const char    *radcli_request_server(const radcli_request *);

🌈 SEE ALSO 🌈

The whole extended fam is in the group chat too:


Byeee 🫢 β€” this page's source/version line says radcli, the date is 2026-10-10, and it's the radcli2.h(3) manual. Mwah πŸ’‹

πŸ“¦ where this page comes from