|
Radcli library 2.0.0
A simple radius library -- new API reference
|
| Context & Configuration | Building a radcli_ctx from a config file, or entirely programmatically, without ever including radcli.h |
| Dictionary | Looking up an attribute's definition – name, wire type, OID, and named VALUEs – from the dictionary a radcli_ctx has loaded |
| Attribute-Value Pair Handling | Building a request's attributes and reading back a reply's, through the radcli_avp_list/radcli_avp opaque types rather than radcli.h's VALUE_PAIR linked list |
| radcli_avp_add_*_by_num() – lookup-and-add in one call | Convenience wrappers over radcli_dict_lookup_num() + the matching radcli_avp_add_*(), for the common case of a well-known attribute a caller already has a legacy PW_* constant for |
| radcli_avp_get_*_by_num() – lookup-and-get in one call | Receive-side mirror of radcli2-avp-by-num: fold radcli_dict_lookup_num() + radcli_avp_get() + the matching typed getter into one call, for the common case of a well-known, single-occurrence attribute a caller already has a legacy PW_* constant for |
| radcli_avp_concat_str()/_by_num() – join every occurrence of a text attribute | Concatenate every occurrence of an attribute into a bounded buffer, following snprintf()'s buffer-sizing contract (buf may be NULL/buflen may be 0 to size a buffer first; the return value is always the number of bytes the joined result would occupy, whether or not it fit) |
| RADIUS messaging | Building a radcli_request, exchanging it with the server, and reading back the reply's code and attributes – or radcli_aaa() for the send-and-wait-for-reply case in one call |
| RFC 5176 dynamic authorization (CoA/Disconnect) |