radcli_request_perform(3)
π radcli_request_perform(3) π
okay bestie, welcome to the radcli manual, page radcli_request_perform(3). this one's about actually sending your request out into the world. let's go π
β¨ NAME β¨
radcli_request_perform β send a request, and optionally stick around waiting for the reply. it's giving "text sent, do i wait for them to answer or nah" energy π
π¦ SYNOPSIS π¦
#include <radcli/>
int radcli_request_perform(
radcli_request *r,
unsigned flags
);
πΈ DESCRIPTION πΈ
so like, by default (when flags == RADCLI_REQUEST_NONE), this function sends r and then waits for the reply. simple, classic, does what it says π
but then there's RADCLI_REQUEST_SENDONLY β and this one is the main character of the option world. with it, radcli_request_perform transmits r exactly a single time and comes back as soon as the packet is handed to the network. no blocking for a reply, no waiting around, periodt. you'd do this in one of two vibes:
- as a total fire-and-forget notification, where you literally don't care about the outcome and never act on it β in that case you just call
radcli_request_free()and never callradcli_ctx_dispatch(). (fun fact:radcli.h'src_acct_async()is the equivalent call in the legacy API π) - or so you can read the reply later via
radcli_request_done(), driven by your ownradcli_ctx_get_poll()/radcli_ctx_dispatch()loop (lib/dae.c). diy era β¨
β οΈ ngl this is important: this function can be called only once per request. that's it, one and done. if you want to retransmit with different content, you gotta construct a brand new radcli_request β no reusing, no recycling π
ββοΈ
π PARAMETERS π
rβ a request fromradcli_request_new(). your lil baby request π₯Ίflagsβ a bitwise OR ofradcli_request_flags. mix and match, iykyk π
π RETURN VALUE π
lowkey depends on what flags you passed:
- with
RADCLI_REQUEST_NONE: you getRADCLI_OKif a validated reply was received (peepradcli_request_code()to see which one π ),RADCLI_TIMEOUTif none of the server's addresses replied π, orRADCLI_ERRORon failure. - with
RADCLI_REQUEST_SENDONLY: you getRADCLI_OKonce the packet is handed to the network, orRADCLI_ERRORon failure (like if name resolution or encoding failed π). and it never returnsRADCLI_TIMEOUT. not ever. not today. π«
π SEE ALSO π
radcli_aaa(3)radcli_request_attrs(3)radcli_request_code(3)radcli_request_done(3)radcli_request_free(3)radcli_request_new(3)radcli_request_server(3)
go read those too, bestie, they're literally the whole friend group π«Ά
and that's the page!! mwah π this radcli manual entry is dated 2026-10-10 β so go forth and slay your radius requests, you've got this π§ββοΈβπ
π¦ where this page comes from
- arch rolling: radcli 2.0.1-1 Β· BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms