138 lines
4.6 KiB
C
138 lines
4.6 KiB
C
/*
|
|
******************************************************************************
|
|
* 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 <joel.hortelius@interpeak.se>
|
|
******************************************************************************
|
|
*/
|
|
#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
|
|
|
|
|