25RCSIDH(lib_bio_fd_errno_h,
"$Id: 62c6cc2fb5aaab69922eb6ec22d0f20988cc7007 $")
27#include <freeradius-devel/bio/fd_priv.h>
44 fr_bio_io_t blocked_cb = is_write ? my->cb.write_blocked : my->cb.read_blocked;
52 if (*tries_p <= my->max_tries)
return true;
57#if defined(EWOULDBLOCK) && (EWOULDBLOCK != EAGAIN)
146#define FD_ENET_SUPPRESS \
148 if ((rcode == fr_bio_error(IO)) && ((errno == ENETDOWN) || (errno == ENETUNREACH))) return 0; \
int(* fr_bio_io_t)(fr_bio_t *bio)
bool read_blocked
did we block on read?
bool write_blocked
did we block on write?
static bool fr_bio_fd_errno_retry(fr_bio_fd_t *my, ssize_t *rcode_p, int *tries_p, bool is_write)
Turn a failed read / write into a bio return code.
void fr_bio_eof(fr_bio_t *bio)
Internal BIO function to run EOF callbacks.
int fr_bio_shutdown(fr_bio_t *bio)
Shut down a set of BIOs.