The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Data Structures | Functions
app_io.h File Reference

Application IO interfaces. More...

#include <freeradius-devel/util/socket.h>
+ Include dependency graph for app_io.h:

Go to the source code of this file.

Data Structures

struct  fr_app_io_t
 Public structure describing an I/O path for a protocol. More...
 

Functions

char const * fr_app_io_socket_name (TALLOC_CTX *ctx, fr_app_io_t const *app_io, fr_ipaddr_t const *src_ipaddr, int src_port, fr_ipaddr_t const *dst_ipaddr, int dst_port, char const *interface)
 

Detailed Description

Application IO interfaces.

Id
16d0a9c7908acf98ba574962ecf79249fde23316

Definition in file app_io.h.


Data Structure Documentation

◆ fr_app_io_t

struct fr_app_io_t

Public structure describing an I/O path for a protocol.

This structure is exported by I/O modules e.g. proto_radius_udp.

Definition at line 33 of file app_io.h.

+ Collaboration diagram for fr_app_io_t:
Data Fields
fr_io_client_find_t client_find find radclient
fr_io_close_t close Close the transport.
module_t common Common fields to all loadable modules.
fr_io_connection_set_t connection_set set src/dst IP/port of a connection
fr_io_decode_t decode Translate raw bytes into fr_pair_ts and metadata.
size_t default_message_size Usually maximum message size.
size_t default_reply_size same for replies
fr_io_encode_t encode Pack fr_pair_ts back into a byte array.
fr_io_signal_t error There was an error on the socket.
fr_app_event_list_set_t event_list_set Called by the network thread to pass an event list for use by the app_io_t.
fr_io_set_fd_t fd_set Set the file descriptor to the instance.
fr_io_signal_t flush Flush the data when the socket is ready for writing.
fr_io_name_t get_name get the socket name
fr_io_data_inject_t inject Inject a packet into a socket.
fr_io_nak_t nak Function to send a NAK.
fr_io_network_get_t network_get get dynamic network information
fr_io_open_t open Open a new socket for listening, or accept/connect a new connection.
void * private any private APIs it needs to export.
fr_io_data_read_t read Read from a socket to a data buffer.
fr_io_track_cmp_t track_compare compare two tracking structures
fr_io_track_create_t track_create create a tracking structure
bool track_duplicates track duplicate packets
fr_io_data_vnode_t vnode Handle notifications that the VNODE has changed.
fr_io_data_write_t write Write from a data buffer to a socket.

Function Documentation

◆ fr_app_io_socket_name()

char const* fr_app_io_socket_name ( TALLOC_CTX *  ctx,
fr_app_io_t const *  app_io,
fr_ipaddr_t const *  src_ipaddr,
int  src_port,
fr_ipaddr_t const *  dst_ipaddr,
int  dst_port,
char const *  interface 
)

Definition at line 32 of file app_io.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: