original files of m241
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
/* ipmip.h - ipmip.h */
|
||||
/*
|
||||
******************************************************************************
|
||||
* HEADER FILE
|
||||
*
|
||||
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmip.h,v $ $Revision: 1.21 $
|
||||
* $Source: /home/interpeak/CVSRoot/ipmip/include/ipmip.h,v $
|
||||
* $Author: jhorteli $ $Date: 2011-01-21 15:31:27 $
|
||||
* $State: Exp $ $Locker: $
|
||||
*
|
||||
* INTERPEAK_COPYRIGHT_STRING
|
||||
* Design and implementation by Joel Hortelius <joel.hortelius@interpeak.se>
|
||||
******************************************************************************
|
||||
*/
|
||||
#ifndef IPMIP_H
|
||||
#define IPMIP_H
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 1 DESCRIPTION
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
DESCRIPTION
|
||||
|
||||
Base IPMIP defines. Flags, syslog and types used globally in the MIP
|
||||
system.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 2 CONFIGURATION
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#include "ipmip_config.h"
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 3 INCLUDE FILES
|
||||
****************************************************************************
|
||||
*/
|
||||
#include <ipcom_clib2.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 4 DEFINES
|
||||
****************************************************************************
|
||||
*/
|
||||
#define IPMIP_UNUSED_PARAMETER(x) ((void)(x))
|
||||
#define IPMIP_BITS_ARESET(f, b) (((f) & (b)) == (b))
|
||||
|
||||
#define IPMIP_RELEASE 60701
|
||||
|
||||
#define IPMIP_SMI_WIND_RIVER 731
|
||||
#define IPMIP_SMI_CISCO 9
|
||||
|
||||
enum
|
||||
{
|
||||
IPMIP_TUNNELTYPE_IPIP,
|
||||
IPMIP_TUNNELTYPE_GRE,
|
||||
IPMIP_TUNNELTYPE_MINENC,
|
||||
IPMIP_TUNNELTYPE_IP6IP6,
|
||||
IPMIP_TUNNELTYPE_GRE6,
|
||||
IPMIP_TUNNELTYPE_MAX
|
||||
};
|
||||
#define IPMIP_TUNNELTYPE_NONE IPMIP_TUNNELTYPE_MAX
|
||||
|
||||
#define IPMIP_TUNNELTYPE_TO_MASK(t) (1 << (t))
|
||||
#define IPMIP_TUNNELMASK_TO_TYPE(m) ipmip_util_tunnelmask_to_type(m)
|
||||
|
||||
#define IPMIP_TUNNELMASK_INET_IPIP IPMIP_TUNNELTYPE_TO_MASK(IPMIP_TUNNELTYPE_IPIP)
|
||||
#define IPMIP_TUNNELMASK_INET_GRE IPMIP_TUNNELTYPE_TO_MASK(IPMIP_TUNNELTYPE_GRE)
|
||||
#define IPMIP_TUNNELMASK_INET_MINENC IPMIP_TUNNELTYPE_TO_MASK(IPMIP_TUNNELTYPE_MINENC)
|
||||
#define IPMIP_TUNNELMASK_INET6_IP6IP6 IPMIP_TUNNELTYPE_TO_MASK(IPMIP_TUNNELTYPE_IP6IP6)
|
||||
#define IPMIP_TUNNELMASK_INET6_GRE6 IPMIP_TUNNELTYPE_TO_MASK(IPMIP_TUNNELTYPE_GRE6)
|
||||
|
||||
#define IPMIP_TUNNELMASK_GRE (IPMIP_TUNNELMASK_INET_GRE|IPMIP_TUNNELMASK_INET6_GRE6)
|
||||
#define IPMIP_TUNNELMASK_IP (IPMIP_TUNNELMASK_INET_IPIP|IPMIP_TUNNELMASK_INET6_IP6IP6)
|
||||
#define IPMIP_TUNNELMASK_INET (IPMIP_TUNNELMASK_INET_IPIP|IPMIP_TUNNELMASK_INET_GRE|IPMIP_TUNNELMASK_INET_MINENC)
|
||||
#define IPMIP_TUNNELMASK_INET6 (IPMIP_TUNNELMASK_INET6_IP6IP6|IPMIP_TUNNELMASK_INET6_GRE6)
|
||||
|
||||
#define IPMIP_TUNNELTYPE_IS_INET(t) ((IPMIP_TUNNELTYPE_TO_MASK(t) & IPMIP_TUNNELMASK_INET) != 0)
|
||||
#define IPMIP_TUNNELTYPE_IS_INET6(t) ((IPMIP_TUNNELTYPE_TO_MASK(t) & IPMIP_TUNNELMASK_INET6) != 0)
|
||||
#define IPMIP_TUNNELTYPE_IS_IP(t) ((IPMIP_TUNNELTYPE_TO_MASK(t) & IPMIP_TUNNELMASK_IP) != 0)
|
||||
#define IPMIP_TUNNELTYPE_IS_GRE(t) ((IPMIP_TUNNELTYPE_TO_MASK(t) & IPMIP_TUNNELMASK_GRE) != 0)
|
||||
|
||||
#define IPMIP_TUNNELMASK_ALL (~0)
|
||||
|
||||
enum
|
||||
{
|
||||
IPMIP_CALLBACK_CONFIG_READ,
|
||||
IPMIP_CALLBACK_CONFIG_FREE,
|
||||
IPMIP_CALLBACK_CONFIG_DUMP
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
IPMIP_CALLBACK_DISABLE,
|
||||
IPMIP_CALLBACK_ENABLE,
|
||||
IPMIP_CALLBACK_UPDATE
|
||||
};
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
IPMIP_CALLBACK_RET_SUCCESS = 0,
|
||||
IPMIP_CALLBACK_RET_FAILED = 1,
|
||||
IPMIP_CALLBACK_RET_PENDING = (1 << 1)
|
||||
};
|
||||
|
||||
#define IPMIP_CALLBACK_RET_CODE(ret) ((ret) & (IPMIP_CALLBACK_RET_FAILED|IPMIP_CALLBACK_RET_SUCCESS))
|
||||
#define IPMIP_CALLBACK_RET_CODE_PENDING(ret) (((ret) & (IPMIP_CALLBACK_RET_PENDING)) != 0)
|
||||
|
||||
#define IPMIP_EXTENSION_ERROR_RETRANSMIT (1)
|
||||
|
||||
enum
|
||||
{
|
||||
IPMIP_LINK_DOWN = 0,
|
||||
IPMIP_LINK_UP = 1,
|
||||
IPMIP_LINK_MAX
|
||||
};
|
||||
|
||||
#define IPMIP_LINK_RECV IPMIP_LINK_DOWN
|
||||
#define IPMIP_LINK_SEND IPMIP_LINK_UP
|
||||
|
||||
#if defined(IP_LITTLE_ENDIAN)
|
||||
#define IPMIP_BSWAP64(x) ((Ip_u64) ( (((Ip_u64)IP_SWAP32(IP_U64_GETLO(x))) << 32) | ((Ip_u64)IP_SWAP32(IP_U64_GETHI(x)))) )
|
||||
#else
|
||||
#define IPMIP_BSWAP64(x) (x)
|
||||
#endif
|
||||
|
||||
#define IPMIP_ONCE(once, func, arg) ipcom_once(once, func, arg)
|
||||
|
||||
|
||||
#define ipmip_timeval_copy(tpr,tp1) \
|
||||
do \
|
||||
{ \
|
||||
(tpr)->tv_sec = (tp1)->tv_sec; \
|
||||
(tpr)->tv_usec = (tp1)->tv_usec; \
|
||||
} \
|
||||
while((0))
|
||||
|
||||
#define ipmip_timeval_add_sec(tpr,sec) \
|
||||
do \
|
||||
{ \
|
||||
(tpr)->tv_sec += (sec); \
|
||||
} \
|
||||
while((0))
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 5 TYPES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 6 FUNCTIONS
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* END OF FILE
|
||||
****************************************************************************
|
||||
*/
|
||||
Reference in New Issue
Block a user