.\" File automatically generated by doxy2man0.3 .\" Generation date: Thu Sep 3 2026 .TH radcli_dae_reply_to_buffer 3 2026-09-03 "radcli" "Radius client library" .SH "NAME" radcli_dae_reply_to_buffer \- Produce a reply as bytes instead of sending it the L0 counterpart of radcli_dae_reply()/radcli_dae_reply_error(), for a request that came from radcli_dae_process(). .SH SYNOPSIS .nf .B #include .sp \fBint radcli_dae_reply_to_buffer\fP( \fBradcli_dae_request *\fP\fIreq\fP, \fBint \fP\fIack\fP, \fBuint32_t \fP\fIerror_cause\fP, \fBvoid *\fP\fIbuf\fP, \fBsize_t *\fP\fIlen\fP ); .fi .SH DESCRIPTION .PP For a request radcli_dae_process() returned RADCLI_DAE_DUPLICATE for, ack and error_cause are ignored: a genuine retransmission always gets the same answer it originally got (RFC 5176 SS2.3), never a fresh one, so the bytes produced are always that cached decision's. .SH PARAMETERS .TP .B req a request from radcli_dae_process(), not yet replied to (unless RADCLI_DAE_DUPLICATE, which may be called any number of times). .TP .B ack non-zero for an ACK, zero for a NAK ignored if req is a RADCLI_DAE_DUPLICATE. .TP .B error_cause a radcli_error_cause value for a NAK, or 0 for a bare one ignored if req is a RADCLI_DAE_DUPLICATE. .TP .B buf filled with the reply's bytes on success. .TP .B len buf's capacity on entry; the reply's actual length on success. .SH RETURN VALUE .PP 0 on success, -1 on failure (any argument NULL, req already replied to and not a RADCLI_DAE_DUPLICATE, or buf too small). .SH SEE ALSO .PP .nh .ad l \fIradcli_ctx_dispatch\fP(3), \fIradcli_ctx_get_poll\fP(3), \fIradcli_dae_free\fP(3), \fIradcli_dae_new\fP(3), \fIradcli_dae_process\fP(3), \fIradcli_dae_reply\fP(3), \fIradcli_dae_reply_error\fP(3), \fIradcli_dae_req_attrs\fP(3), \fIradcli_dae_req_code\fP(3), \fIradcli_dae_req_framed_ip\fP(3), \fIradcli_dae_req_nas_port\fP(3), \fIradcli_dae_req_session_id\fP(3), \fIradcli_dae_req_user_name\fP(3), \fIradcli_dae_request_free\fP(3), \fIradcli_dae_set_handler\fP(3), \fIradcli_dae_start\fP(3) .ad .hy