///< Message-Authenticator.
} proto_radius_t;
+struct proto_radius_io_thread_s {
+ char const *name; //!< socket name
+ int sockfd;
+
+ fr_io_address_t *connection; //!< for connected sockets.
+
+ fr_stats_t stats; //!< statistics for this socket
+
+};
+
void proto_radius_log(fr_listen_t *li, char const *name, fr_radius_decode_fail_t reason, fr_socket_t const *sock, char const *fmt, ...);
extern fr_app_io_t proto_radius_tcp;
-typedef struct {
- char const *name; //!< socket name
- int sockfd;
-
- fr_io_address_t *connection; //!< for connected sockets.
-
- fr_stats_t stats; //!< statistics for this socket
-} proto_radius_tcp_thread_t;
+typedef struct proto_radius_io_thread_s proto_radius_tcp_thread_t;
typedef struct {
CONF_SECTION *cs; //!< our configuration
extern fr_app_io_t proto_radius_udp;
-typedef struct {
- char const *name; //!< socket name
- int sockfd;
-
- fr_io_address_t *connection; //!< for connected sockets.
-
- fr_stats_t stats; //!< statistics for this socket
-
-} proto_radius_udp_thread_t;
+typedef struct proto_radius_io_thread_s proto_radius_udp_thread_t;
typedef struct {
CONF_SECTION *cs; //!< our configuration