Files
2026-07-30 11:19:44 +05:30

456 lines
17 KiB
C

/*
******************************************************************************
* HEADER FILE
*
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: rtnetlink.h,v $ $Revision: 1.5 $
* $Source: /home/interpeak/CVSRoot/ipxinc/include/linux/rtnetlink.h,v $
* $Author: jhorteli $ $Date: 2008-04-10 08:05:43 $
* $State: Exp $ $Locker: $
*
* INTERPEAK_COPYRIGHT_STRING
* Design and implementation by Lennart Bang <lob@interpeak.se>
******************************************************************************
*/
#ifndef IP_LINUX_RTNETLINK_H
#define IP_LINUX_RTNETLINK_H
/*
****************************************************************************
* 1 DESCRIPTION
****************************************************************************
*/
/*
****************************************************************************
* 2 CONFIGURATION
****************************************************************************
*/
#include "ipcom_config.h"
/*
****************************************************************************
* 3 INCLUDE FILES
****************************************************************************
*/
#include <linux/netlink.h>
#include <linux/if_link.h>
#include <linux/if_addr.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
****************************************************************************
* 4 DEFINES
****************************************************************************
*/
/*
*===========================================================================
* RTNETLINK DEFINITIONS
*===========================================================================
*/
#define NETLINK_ROUTE IP_NETLINK_ROUTE
#define RTM_BASE IP_RTM_BASE
#define RTM_NEWLINK IP_RTM_NEWLINK
#define RTM_DELLINK IP_RTM_DELLINK
#define RTM_GETLINK IP_RTM_GETLINK
#define RTM_SETLINK IP_RTM_SETLINK
#define RTM_NEWADDR IP_RTM_NEWADDR
#define RTM_DELADDR IP_RTM_DELADDR
#define RTM_GETADDR IP_RTM_GETADDR
#define RTM_NEWROUTE IP_RTM_NEWROUTE
#define RTM_DELROUTE IP_RTM_DELROUTE
#define RTM_GETROUTE IP_RTM_GETROUTE
#define RTM_NEWNEIGH IP_RTM_NEWNEIGH
#define RTM_DELNEIGH IP_RTM_DELNEIGH
#define RTM_GETNEIGH IP_RTM_GETNEIGH
#define RTM_NEWRULE IP_RTM_NEWRULE
#define RTM_DELRULE IP_RTM_DELRULE
#define RTM_GETRULE IP_RTM_GETRULE
#define RTM_NEWQDISC IP_RTM_NEWQDISC
#define RTM_DELQDISC IP_RTM_DELQDISC
#define RTM_GETQDISC IP_RTM_GETQDISC
#define RTM_NEWTCLASS IP_RTM_NEWTCLASS
#define RTM_DELTCLASS IP_RTM_DELTCLASS
#define RTM_GETTCLASS IP_RTM_GETTCLASS
#define RTM_NEWTFILTER IP_RTM_NEWTFILTER
#define RTM_DELTFILTER IP_RTM_DELTFILTER
#define RTM_GETTFILTER IP_RTM_GETTFILTER
#define RTM_NEWACTION IP_RTM_NEWACTION
#define RTM_DELACTION IP_RTM_DELACTION
#define RTM_GETACTION IP_RTM_GETACTION
#define RTM_NEWPREFIX IP_RTM_NEWPREFIX
#define RTM_GETPREFIX IP_RTM_GETPREFIX
#define RTM_GETMULTICAST IP_RTM_GETMULTICAST
#define RTM_GETANYCAST IP_RTM_GETANYCAST
#define RTM_NEWNEIGHTBL IP_RTM_NEWNEIGHTBL
#define RTM_GETNEIGHTBL IP_RTM_GETNEIGHTBL
#define RTM_SETNEIGHTBL IP_RTM_SETNEIGHTBL
/* CONFIG INTERPEAK >>> */
#define RTM_NEWVR IP_RTM_NEWVR
#define RTM_DELVR IP_RTM_DELVR
#define RTM_GETVR IP_RTM_GETVR
#define RTM_CHANGEVR IP_RTM_CHANGEVR
#define RTM_NEWMIP IP_RTM_NEWMIP
#define RTM_DELMIP IP_RTM_DELMIP
#define RTM_GETMIP IP_RTM_GETMIP
#define RTM_SETMIP IP_RTM_SETMIP
/* <<< CONFIG INTERPEAK */
#define __RTM_MAX __IP_RTM_MAX,
#define RTM_MAX IP_RTM_MAX
#define RTM_NR_MSGTYPES IP_RTM_NR_MSGTYPES
#define RTM_NR_FAMILIES IP_RTM_NR_FAMILIES
#define RTM_FAM(cmd) IP_RTM_FAM(cmd)
#define rtattr Ip_rtattr
#define RTA_ALIGNTO IP_RTA_ALIGNTO
#define RTA_ALIGN(len) IP_RTA_ALIGN(len)
#define RTA_OK(rta,len) IP_RTA_OK(rta,len)
#define RTA_NEXT(rta,attrlen) IP_RTA_NEXT(rta,attrlen)
#define RTA_LENGTH(len) IP_RTA_LENGTH(len)
#define RTA_SPACE(len) IP_RTA_SPACE(len)
#define RTA_DATA(rta) IP_RTA_DATA(rta)
#define RTA_PAYLOAD(rta) IP_RTA_PAYLOAD(rta)
#define rtmsg Ip_rtmsg
#define RTN_UNSPEC IP_RTN_UNSPEC
#define RTN_UNICAST IP_RTN_UNICAST
#define RTN_LOCAL IP_RTN_LOCAL
#define RTN_BROADCAST IP_RTN_BROADCAST
#define RTN_ANYCAST IP_RTN_ANYCAST
#define RTN_MULTICAST IP_RTN_MULTICAST
#define RTN_BLACKHOLE IP_RTN_BLACKHOLE
#define RTN_UNREACHABLE IP_RTN_UNREACHABLE
#define RTN_PROHIBIT IP_RTN_PROHIBIT
#define RTN_THROW IP_RTN_THROW
#define RTN_NAT IP_RTN_NAT
#define RTN_XRESOLVE IP_RTN_XRESOLVE
#define RTN_PROXY IP_RTN_PROXY
#define RTN_CLONE IP_RTN_CLONE
#define __RTN_MAX __IP_RTN_MAX
#define RTN_MAX IP_RTN_MAX
#define RTPROT_UNSPEC IP_RTPROT_UNSPEC
#define RTPROT_REDIRECT IP_RTPROT_REDIRECT
#define RTPROT_KERNEL IP_RTPROT_KERNEL
#define RTPROT_BOOT IP_RTPROT_BOOT
#define RTPROT_STATIC IP_RTPROT_STATIC
#define RTPROT_GATED IP_RTPROT_GATED
#define RTPROT_RA IP_RTPROT_RA
#define RTPROT_MRT IP_RTPROT_MRT
#define RTPROT_ZEBRA IP_RTPROT_ZEBRA
#define RTPROT_BIRD IP_RTPROT_BIRD
#define RTPROT_DNROUTED IP_RTPROT_DNROUTED
#define RTPROT_XORP IP_RTPROT_XORP
#define RTPROT_NTK IP_RTPROT_NTK
#define rt_scope_t Ip_rt_scope_t
#define RT_SCOPE_UNIVERSE IP_RT_SCOPE_UNIVERSE
#define RT_SCOPE_SITE IP_RT_SCOPE_SITE
#define RT_SCOPE_LINK IP_RT_SCOPE_LINK
#define RT_SCOPE_HOST IP_RT_SCOPE_HOST
#define RT_SCOPE_NOWHERE IP_RT_SCOPE_NOWHERE
#define RTM_F_NOTIFY IP_RTM_F_NOTIFY
#define RTM_F_CLONED IP_RTM_F_CLONED
#define RTM_F_EQUALIZE IP_RTM_F_EQUALIZE
#define RTM_F_PREFIX IP_RTM_F_PREFIX
#define rt_class_t Ip_rt_class_t
#define RT_TABLE_UNSPEC IP_RT_TABLE_UNSPEC
#define RT_TABLE_DEFAULT IP_RT_TABLE_DEFAULT
#define RT_TABLE_MAIN IP_RT_TABLE_MAIN
#define RT_TABLE_LOCAL IP_RT_TABLE_LOCAL
#define __RT_TABLE_MAX __IP_RT_TABLE_MAX
#define RT_TABLE_MAX IP_RT_TABLE_MAX
#define rtattr_type_t Ip_rtattr_type_t
#define RTA_UNSPEC IP_RTA_UNSPEC
#define RTA_DST IP_RTA_DST
#define RTA_SRC IP_RTA_SRC
#define RTA_IIF IP_RTA_IIF
#define RTA_OIF IP_RTA_OIF
#define RTA_GATEWAY IP_RTA_GATEWAY
#define RTA_PRIORITY IP_RTA_PRIORITY
#define RTA_PREFSRC IP_RTA_PREFSRC
#define RTA_METRICS IP_RTA_METRICS
#define RTA_MULTIPATH IP_RTA_MULTIPATH
#define RTA_PROTOINFO IP_RTA_PROTOINFO
#define RTA_FLOW IP_RTA_FLOW
#define RTA_CACHEINFO IP_RTA_CACHEINFO
#define RTA_SESSION IP_RTA_SESSION
#define RTA_MP_ALGO IP_RTA_MP_ALGO
#define RTA_NH_PROTO IP_RTA_NH_PROTO
#define RTA_NH_PROTO_DATA IP_RTA_NH_PROTO_DATA
#define RTA_PROXY_ARP_LLADDR IP_RTA_PROXY_ARP_LLADDR
#define RTA_VR IP_RTA_VR
#define RTA_TABLE IP_RTA_TABLE
#define RTA_TABLE_NAME IP_RTA_TABLE_NAME
#define __RTA_MAX __IP_RTA_MAX
#define RTA_MAX IP_RTA_MAX
#define RTM_RTA(r) IP_RTM_RTA(r)
#define RTM_PAYLOAD(n) IP_RTM_PAYLOAD(n)
#define NH_PROTO_MPLS IP_NH_PROTO_MPLS
#define rtnexthop Ip_rtnexthop
#define RTNH_F_DEAD IP_RTNH_F_DEAD
#define RTNH_F_PERVASIVE IP_RTNH_F_PERVASIVE
#define RTNH_F_ONLINK IP_RTNH_F_ONLINK
#define RTNH_ALIGNTO IP_RTNH_ALIGNTO
#define RTNH_ALIGN(len) IP_RTNH_ALIGN(len)
#define RTNH_OK(rtnh,len) IP_RTNH_OK(rtnh,len)
#define RTNH_NEXT(rtnh) IP_RTNH_NEXT(rtnh)
#define RTNH_LENGTH(len) IP_RTNH_LENGTH(len)
#define RTNH_SPACE(len) IP_RTNH_SPACE(len)
#define RTNH_DATA(rtnh) IP_RTNH_DATA(rtnh)
#define rta_cacheinfo Ip_rta_cacheinfo
#define RTNETLINK_HAVE_PEERINFO IP_RTNETLINK_HAVE_PEERINFO
#define RTAX_UNSPEC IP_RTAX_UNSPEC
#define RTAX_LOCK IP_RTAX_LOCK
#define RTAX_MTU IP_RTAX_MTU
#define RTAX_WINDOW IP_RTAX_WINDOW
#define RTAX_RTT IP_RTAX_RTT
#define RTAX_RTTVAR IP_RTAX_RTTVAR
#define RTAX_SSTHRESH IP_RTAX_SSTHRESH
#define RTAX_CWND IP_RTAX_CWND
#define RTAX_ADVMSS IP_RTAX_ADVMSS
#define RTAX_REORDERING IP_RTAX_REORDERING
#define RTAX_HOPLIMIT IP_RTAX_HOPLIMIT
#define RTAX_INITCWND IP_RTAX_INITCWND
#define RTAX_FEATURES IP_RTAX_FEATURES
#define RTAX_RTO_MIN IP_RTAX_RTO_MIN
#define __RTAX_MAX __IP_RTAX_MAX
#define RTAX_MAX IP_RTAX_MAX
#define RTAX_FEATURE_ECN IP_RTAX_FEATURE_ECN
#define RTAX_FEATURE_SACK IP_RTAX_FEATURE_SACK
#define RTAX_FEATURE_TIMESTAMP IP_RTAX_FEATURE_TIMESTAMP
#define RTAX_FEATURE_ALLFRAG IP_RTAX_FEATURE_ALLFRAG
#define rta_session Ip_rta_session
#define ifa_cacheinfo Ip_ifa_cacheinfo
#define IFA_RTA(r) IP_IFA_RTA(r)
#define IFA_PAYLOAD(n) IP_IFA_PAYLOAD(n)
#define ndmsg Ip_ndmsg
#define NDA_UNSPEC IP_NDA_UNSPEC
#define NDA_DST IP_NDA_DST
#define NDA_LLADDR IP_NDA_LLADDR
#define NDA_CACHEINFO IP_NDA_CACHEINFO
#define NDA_PROBES IP_NDA_PROBES
#define NDA_VR IP_NDA_VR
#define NDA_TABLE IP_NDA_TABLE
#define NDA_TABLE_NAME IP_NDA_TABLE_NAME
#define NDA_REALIFINDEX IP_NDA_REALIFINDEX
#define __NDA_MAX __IP_NDA_MAX
#define NDA_MAX IP_NDA_MAX
#define NDA_RTA(r) IP_NDA_RTA(r)
#define NDA_PAYLOAD(n) IP_NDA_PAYLOAD(n)
#define NTF_PROXY IP_NTF_PROXY
#define NTF_ROUTER IP_NTF_ROUTER
#define NTF_GRAT IP_NTF_GRAT
#define NUD_INCOMPLETE IP_NUD_INCOMPLETE
#define NUD_REACHABLE IP_NUD_REACHABLE
#define NUD_STALE IP_NUD_STALE
#define NUD_DELAY IP_NUD_DELAY
#define NUD_PROBE IP_NUD_PROBE
#define NUD_FAILED IP_NUD_FAILED
#define NUD_NOARP IP_NUD_NOARP
#define NUD_PERMANENT IP_NUD_PERMANENT
#define NUD_NONE IP_NUD_NONE
#define nda_cacheinfo Ip_nda_cacheinfo
#define ndt_stats Ip_ndt_stats
#define NDTPA_UNSPEC IP_NDTPA_UNSPEC
#define NDTPA_IFINDEX IP_NDTPA_IFINDEX
#define NDTPA_REFCNT IP_NDTPA_REFCNT
#define NDTPA_REACHABLE_TIME IP_NDTPA_REACHABLE_TIME
#define NDTPA_BASE_REACHABLE_TIME IP_NDTPA_BASE_REACHABLE_TIME
#define NDTPA_RETRANS_TIME IP_NDTPA_RETRANS_TIME
#define NDTPA_GC_STALETIME IP_NDTPA_GC_STALETIME
#define NDTPA_DELAY_PROBE_TIME IP_NDTPA_DELAY_PROBE_TIME
#define NDTPA_QUEUE_LEN IP_NDTPA_QUEUE_LEN
#define NDTPA_APP_PROBES IP_NDTPA_APP_PROBES
#define NDTPA_UCAST_PROBES IP_NDTPA_UCAST_PROBES
#define NDTPA_MCAST_PROBES IP_NDTPA_MCAST_PROBES
#define NDTPA_ANYCAST_DELAY IP_NDTPA_ANYCAST_DELAY
#define NDTPA_PROXY_DELAY IP_NDTPA_PROXY_DELAY
#define NDTPA_PROXY_QLEN IP_NDTPA_PROXY_QLEN
#define NDTPA_LOCKTIME IP_NDTPA_LOCKTIME
#define __NDTPA_MAX __IP_NDTPA_MAX
#define NDTPA_MAX IP_NDTPA_MAX
#define ndtmsg Ip_ndtmsg
#define ndt_config Ip_ndt_config
#define NDTA_UNSPEC IP_NDTA_UNSPEC
#define NDTA_NAME IP_NDTA_NAME
#define NDTA_THRESH1 IP_NDTA_THRESH1
#define NDTA_THRESH2 IP_NDTA_THRESH2
#define NDTA_THRESH3 IP_NDTA_THRESH3
#define NDTA_CONFIG IP_NDTA_CONFIG
#define NDTA_PARMS IP_NDTA_PARMS
#define NDTA_STATS IP_NDTA_STATS
#define NDTA_GC_INTERVAL IP_NDTA_GC_INTERVAL
#define __NDTA_MAX __IP_NDTA_MAX
#define NDTA_MAX IP_NDTA_MAX
#define NDTA_RTA(r) IP_NDTA_RTA(r)
#define NDTA_PAYLOAD(n) IP_NDTA_PAYLOAD(n)
#define rtgenmsg Ip_rtgenmsg
#define ifinfomsg Ip_ifinfomsg
#define tcmsg Ip_tcmsg
#define TCA_UNSPEC IP_TCA_UNSPEC
#define TCA_KIND IP_TCA_KIND
#define TCA_OPTIONS IP_TCA_OPTIONS
#define TCA_STATS IP_TCA_STATS
#define TCA_XSTATS IP_TCA_XSTATS
#define TCA_RATE IP_TCA_RATE
#define TCA_FCNT IP_TCA_FCNT
#define TCA_STATS2 IP_TCA_STATS2
#define __TCA_MAX __IP_TCA_MAX
#define TCA_MAX IP_TCA_MAX
#define TCA_RTA(r) IP_TCA_RTA(r)
#define TCA_PAYLOAD(n) IP_TCA_PAYLOAD(n)
#define RTNLGRP_NONE IP_RTNLGRP_NONE
#define RTNLGRP_LINK IP_RTNLGRP_LINK
#define RTNLGRP_NOTIFY IP_RTNLGRP_NOTIFY
#define RTNLGRP_NEIGH IP_RTNLGRP_NEIGH
#define RTNLGRP_TC IP_RTNLGRP_TC
#define RTNLGRP_IPV4_IFADDR IP_RTNLGRP_IPV4_IFADDR
#define RTNLGRP_IPV4_MROUTE IP_RTNLGRP_IPV4_MROUTE
#define RTNLGRP_IPV4_ROUTE IP_RTNLGRP_IPV4_ROUTE
#define RTNLGRP_IPV4_RULE IP_RTNLGRP_IPV4_RULE
#define RTNLGRP_IPV6_IFADDR IP_RTNLGRP_IPV6_IFADDR
#define RTNLGRP_IPV6_MROUTE IP_RTNLGRP_IPV6_MROUTE
#define RTNLGRP_IPV6_ROUTE IP_RTNLGRP_IPV6_ROUTE
#define RTNLGRP_IPV6_IFINFO IP_RTNLGRP_IPV6_IFINFO
#define RTNLGRP_DECnet_IFADDR IP_RTNLGRP_DECnet_IFADDR
#define RTNLGRP_NOP2 IP_RTNLGRP_NOP2
#define RTNLGRP_DECnet_ROUTE IP_RTNLGRP_DECnet_ROUTE
#define RTNLGRP_RTAB IP_RTNLGRP_RTAB
#define RTNLGRP_NOP4 IP_RTNLGRP_NOP4
#define RTNLGRP_IPV6_PREFIX IP_RTNLGRP_IPV6_PREFIX
#define RTNLGRP_IPV6_RULE IP_RTNLGRP_IPV6_RULE
#define __RTNLGRP_MAX __IP_RTNLGRP_MAX
#define RTNLGRP_MAX IP_RTNLGRP_MAX
#define RTMGRP_LINK IP_RTMGRP_LINK
#define RTMGRP_NOTIFY IP_RTMGRP_NOTIFY
#define RTMGRP_NEIGH IP_RTMGRP_NEIGH
#define RTMGRP_TC IP_RTMGRP_TC
#define RTMGRP_IPV4_IFADDR IP_RTMGRP_IPV4_IFADDR
#define RTMGRP_IPV4_MROUTE IP_RTMGRP_IPV4_MROUTE
#define RTMGRP_IPV4_ROUTE IP_RTMGRP_IPV4_ROUTE
#define RTMGRP_IPV4_RULE IP_RTMGRP_IPV4_RULE
#define RTMGRP_IPV6_IFADDR IP_RTMGRP_IPV6_IFADDR
#define RTMGRP_IPV6_MROUTE IP_RTMGRP_IPV6_MROUTE
#define RTMGRP_IPV6_ROUTE IP_RTMGRP_IPV6_ROUTE
#define RTMGRP_IPV6_IFINFO IP_RTMGRP_IPV6_IFINFO
#define RTMGRP_DECnet_IFADDR IP_RTMGRP_DECnet_IFADDR
#define RTMGRP_DECnet_ROUTE IP_RTMGRP_DECnet_ROUTE
#define RTMGRP_IPV6_PREFIX IP_RTMGRP_IPV6_PREFIX
#define RTMGRP_RTAB IP_RTMGRP_RTAB
#define tcamsg Ip_tcamsg
#define TA_RTA(r) IP_TA_RTA(r)
#define TA_PAYLOAD(n) IP_TA_PAYLOAD(n)
#define TCA_ACT_TAB IP_TCA_ACT_TAB
#define TCAA_MAX IP_TCAA_MAX
/* CONFIG INTERPEAK >>> */
#define VR_ANY IPCOM_VR_ANY
#define vrmsg Ip_vrmsg
#define VR_UNSPEC IP_VR_UNSPEC
#define VR_VR IP_VR_VR
#define VR_IFNAME IP_VR_IFNAME
#define VR_TABLE IP_VR_TABLE
#define VR_TABLE_NAME IP_VR_TABLE_NAME
#define VR_IFNAMES IP_VR_IFNAMES
#define VR_TABLES IP_VR_TABLES
#define __VR_MAX __IP_VR_MAX
#define VR_MAX IP_VR_MAX
#define VRX_UNSPEC IP_VRX_UNSPEC
#define VRX_IFNAME IP_VRX_IFNAME
#define VRX_TABLE IP_VRX_TABLE
#define VRX_TABLE_NAME IP_VRX_TABLE_NAME
#define __VRX_MAX __IP_VRX_MAX
#define VRX_MAX IP_VRX_MAX
#define VR_RTA(r) IP_VR_RTA(r)
#define VR_PAYLOAD(n) IP_VR_PAYLOAD(n)
/* <<< CONFIG INTERPEAK */
/*
****************************************************************************
* 5 TYPES
****************************************************************************
*/
/*
****************************************************************************
* 6 FUNCTIONS
****************************************************************************
*/
#ifdef __cplusplus
}
#endif
#endif
/*
****************************************************************************
* END OF FILE
****************************************************************************
*/