void *uctx;
void *packet_ctx;
fr_bio_retry_rewrite_t rewrite; //!< per-packet rewrite callback
+ void *rewrite_ctx; //!< context specifically for rewriting this packet
+
+ fr_retry_t retry; //!< retry timers and counters
union {
fr_rb_node_t node; //!< for the timers
};
fr_bio_retry_t *my; //!< so we can get to it from the event timer callback
- fr_retry_t retry; //!< retry timers and counters
uint8_t const *buffer;
size_t size;
#include <freeradius-devel/util/retry.h>
#include <freeradius-devel/util/event.h>
+#ifdef _CONST
+# error _CONST can only be defined in the local header
+#endif
+#ifndef _BIO_RETRY_PRIVATE
+# define _CONST const
+#else
+# define _CONST
+#endif
+
typedef struct {
fr_event_list_t *el; //!< event list
void *packet_ctx; //!< packet_ctx from the write() call
fr_bio_retry_rewrite_t rewrite; //!< per-packet rewrite callback
void *rewrite_ctx; //!< context specifically for rewriting this packet
+
+ fr_retry_t _CONST retry; //!< retry timers and counters
};
#endif
ssize_t fr_bio_retry_rewrite(fr_bio_t *bio, fr_bio_retry_entry_t *retry_ctx, const void *buffer, size_t size) CC_HINT(nonnull(1,2));
fr_bio_retry_info_t const *fr_bio_retry_info(fr_bio_t *bio) CC_HINT(nonnull);
+
+#undef _CONST