/* ipmipfa_agent.h - ipmipfa_agent.h */ /* ****************************************************************************** * HEADER FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmipfa_agent.h,v $ $Revision: 1.16 $ * $Source: /home/interpeak/CVSRoot/ipmipfa/src/ipmipfa_agent.h,v $ * $Author: jhorteli $ $Date: 2009-03-31 14:57:58 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Joel Hortelius ****************************************************************************** */ #ifndef IPMIPFA_AGENT_H #define IPMIPFA_AGENT_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* DESCRIPTION No description currently provided */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #include "ipmipfa_if.h" #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 4 DEFINES **************************************************************************** */ #define IPMIPFA_CONF_CHALLENGE_EXTSIZE (IPMIPFA_CONF_CHALLENGE_LEN + IPMIP4_MSGEXT_SHDR_HDR_SIZE) /* **************************************************************************** * 5 TYPES **************************************************************************** */ struct Ipmipfa_fa; struct Ipmipfa_node; struct Ipmipfa_iff; struct Ipmipfa_data; struct Ipmipfa_pktbuf; /* **************************************************************************** * 6 FUNCTIONS **************************************************************************** */ /******************************************************************************* * * ipmipfa_agent_challenge_build - ipmipfa_agent_challenge_build * * Create a challenge extension. * * Parameters: * \is * \i data * Context * \i proc * Process * \i iff * The interface to build the challenge for. * \i node * The node if it's directed to it. * \i buf * The extension we're building. * \i icmp * Is it an ICMP or UDP extension. * \ie * * RETURNS: No return value * * ERRNO: * * \NOMANUAL */ IP_GLOBAL void ipmipfa_agent_challenge_build ( struct Ipmipfa_data *data, struct Ipmip_proc *proc, struct Ipmipfa_iff *iff, struct Ipmipfa_node *node, Ipmip_buffer_t *buf, Ip_bool icmp ); /******************************************************************************* * * ipmipfa_agent_solicitation_build - ipmipfa_agent_solicitation_build * * Build solicitation * * Parameters: * \is * \i adv * The buffer to build the solicitation in. * \i lla * Optional extension * \ie * * RETURNS: IP_TRUE on success * * ERRNO: * * \NOMANUAL */ IP_GLOBAL Ip_bool ipmipfa_agent_solicitation_build ( Ipmip_buffer_t *adv, Ipmip_lladdr_t *lladdr ); /******************************************************************************* * * ipmipfa_agent_advert_output - ipmipfa_agent_advert_output * * Write an ordinary multicast/unicast advertisement * * Parameters: * \is * \i data * The context * \i proc * Current process * \i iff * The interface to send the advertisment from. * \i node * Unicast directed node * \i dst * If specified, unicast dst address * \i lla * If specified, unicast LLA address * \i revoke * Revocation advertisement. * \ie * * RETURNS: No return value * * ERRNO: * * \NOMANUAL */ IP_GLOBAL void ipmipfa_agent_advert_output ( struct Ipmipfa_data *data, struct Ipmip_proc *proc, struct Ipmipfa_iff *iff, struct Ipmipfa_node *node, Ip_addr4 *dst, Ipmip_lladdr_t *lla, Ip_bool revoke ); /******************************************************************************* * * ipmipfa_adv_recv - ipmipfa_adv_recv * * Handles incoming advertisements or solicitations * * Parameters: * \is * \i data * Context * \i proc * Current process. * \i pbuf * Packet buffer * \ie * * RETURNS: No return value * * ERRNO: * * \NOMANUAL */ IP_GLOBAL void ipmipfa_adv_recv ( struct Ipmipfa_data *data, struct Ipmip_proc *proc, struct Ipmipfa_pktbuf *pbuf ); /******************************************************************************* * * ipmipfa_agent_advert_build - ipmipfa_agent_advert_build * * Create an advertisement. * * Parameters: * \is * \i data * Context * \i proc * Process * \i adv * The buffer to create the advertisement in. * \i iff * The interface for which we create the buffer. * \i node * Node we're sending a solicited advertisement to. * \i lla_ext * Append the interfaces LLA extension * \i revoke * Revocation request * \ie * * RETURNS: IP_TRUE on success. * * ERRNO: * * \NOMANUAL */ IP_GLOBAL Ip_bool ipmipfa_agent_advert_build ( struct Ipmipfa_data *data, struct Ipmip_proc *proc, Ipmip_buffer_t *adv, struct Ipmipfa_iff *iff, struct Ipmipfa_node *node, Ip_bool lla_ext, Ip_bool revoke ); #ifdef __cplusplus } #endif #endif /* **************************************************************************** * END OF FILE **************************************************************************** */