.\" File automatically generated by doxy2man0.3 .\" Generation date: Thu Sep 3 2026 .TH radcli_request_perform 3 2026-09-03 "radcli" "Radius client library" .SH "NAME" radcli_request_perform \- Send a request, optionally waiting for the reply. .SH SYNOPSIS .nf .B #include .sp \fBint radcli_request_perform\fP( \fBradcli_request *\fP\fIr\fP, \fBunsigned \fP\fIflags\fP ); .fi .SH DESCRIPTION .PP By default (flags == RADCLI_REQUEST_NONE), sends r and waits for the reply. With RADCLI_REQUEST_SENDONLY, transmits r a single time and returns once the packet is handed to the network, without blocking for a reply either as a pure fire-and-forget notification whose outcome the caller does not act on (call radcli_request_free() without ever calling radcli_ctx_dispatch(); radcli.h's rc_acct_async() is the equivalent call in the legacy API), or to read the reply later via radcli_request_done(), driven by the caller's own radcli_ctx_get_poll()/radcli_ctx_dispatch() loop (lib/dae.c). .PP May be called only once per request; construct a new radcli_request for a retransmission with different content. .SH PARAMETERS .TP .B r a request from radcli_request_new(). .TP .B flags a bitwise OR of radcli_request_flags. .SH RETURN VALUE .PP with RADCLI_REQUEST_NONE: RADCLI_OK if a validated reply was received (see radcli_request_code() for which one), RADCLI_TIMEOUT if none of the server's addresses replied, or RADCLI_ERROR on failure. With RADCLI_REQUEST_SENDONLY: RADCLI_OK once the packet is handed to the network, RADCLI_ERROR on failure (e.g. name resolution or encoding failed); never RADCLI_TIMEOUT. .SH SEE ALSO .PP .nh .ad l \fIradcli_aaa\fP(3), \fIradcli_request_attrs\fP(3), \fIradcli_request_code\fP(3), \fIradcli_request_done\fP(3), \fIradcli_request_free\fP(3), \fIradcli_request_new\fP(3), \fIradcli_request_server\fP(3) .ad .hy