Files
m241Neelima/components/ip_net2-6.9/ipmip/include/ipmip.h
T
2026-07-30 11:19:44 +05:30

180 lines
5.3 KiB
C

/* 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
****************************************************************************
*/