/* ****************************************************************************** * HEADER FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipl2tp_trpt.h,v $ $Revision: 1.2 $ * $Source: /home/interpeak/CVSRoot/ipl2tp/src/ipl2tp_trpt.h,v $ * $Author: joel $ $Date: 2006-01-30 10:47:46 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Joel Hortelius ****************************************************************************** */ #ifndef IPL2TP_TRPT_H #define IPL2TP_TRPT_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 4 DEFINES **************************************************************************** */ /* **************************************************************************** * 5 TYPES **************************************************************************** */ struct Ipl2tp_message; /* **************************************************************************** * 6 FUNCTIONS **************************************************************************** */ /* *=========================================================================== * ipl2tp_trpt_control_output *=========================================================================== * Description: Output a L2TP control message * Parameters: container - The container containing the message. * Returns: * */ IP_GLOBAL void ipl2tp_trpt_control_output(struct Ipl2tp_message *container); /* *=========================================================================== * ipl2tp_trpt_data_output *=========================================================================== * Description: Send a data message. * Parameters: tunnel - Tunnel to use. * iov - IO vector * iov_len - Length of IO vector * Returns: * */ IP_GLOBAL void ipl2tp_trpt_data_output(Ipl2tp_tunnel *tunnel, struct Ip_iovec *iov, int iov_len); /* *=========================================================================== * ipl2tp_trpt_sequence_check *=========================================================================== * Description: Check sequence number of message. * Parameters: tunnel - The tunnel. * nr - The NR * ns - The NS * is_zlb - Is it a ZLB. * update - Don't update 'in-sequence' parameters unless set. * Returns: The status of the processing. * */ IP_GLOBAL Ipl2tp_status ipl2tp_trpt_sequence_check(Ipl2tp_tunnel *tunnel, Ip_u16 nr, Ip_u16 ns, Ip_bool is_zlb, Ip_bool update); /* *=========================================================================== * ipl2tp_trpt_tunnel_ack *=========================================================================== * Description: Acknowledge message(s). * Parameters: tunnel - Tunnel descriptor. * no - Received sequence number. * Returns: * */ IP_GLOBAL void ipl2tp_trpt_tunnel_ack(Ipl2tp_tunnel *tunnel, Ip_u16 no); /* *=========================================================================== * ipl2tp_trpt_hello_init *=========================================================================== * Description: Initialize HELLO transmission. * Parameters: tunnel - The tunnel. * Returns: * */ IP_GLOBAL void ipl2tp_trpt_hello_init(Ipl2tp_tunnel *tunnel); #ifdef __cplusplus } #endif #endif