⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 route.h

📁 vxworks 6.x 的全部头文件
💻 H
📖 第 1 页 / 共 2 页
字号:
    u_char         gate_len;    u_char         gate_family;    u_char         routeProto;    u_char         weight;    u_long         gate_addr;    long           value1;    long           value2;    long           value3;    long           value4;    long           value5;    long           routeTag;    long           routeTos;    struct sockaddr * ifa;    struct sockaddr * ifp;    };#ifdef INET6#include <netinet/in.h>	#include <netinet6/in6.h>	/* For in6_addr */struct sockaddr_gate6    {    u_char         gate_len;    u_char         gate_family;    u_char         routeProto;    u_char         weight;    long           value1;    struct in6_addr gate6_addr;    long           value2;    long           value3;    long           value4;    long           value5;    long           routeTag;    long           routeTos;    struct sockaddr * ifa;    struct sockaddr * ifp;    };#endif /* INET6 */#endif /* ROUTER_STACK *//* * rmx_rtt and rmx_rttvar are stored as microseconds; * RTTTOPRHZ(rtt) converts to a value suitable for use * by a protocol slowtimo counter. */#define	RTM_RTTUNIT	1000000	/* units for rtt, rttvar, as units per sec */#define	RTTTOPRHZ(r)	((r) / (RTM_RTTUNIT / PR_SLOWHZ))/* * XXX kernel function pointer `rt_output' is visible to applications. *//* Values for rt_flags */#define RTF_UP		0x1		/* route usable */#define RTF_GATEWAY	0x2		/* destination is a gateway */#define RTF_HOST		0x4		/* host entry (net otherwise) */#define RTF_REJECT	0x8		/* host or net unreachable */#define RTF_DYNAMIC	0x10		/* created dynamically (by redirect) */#define RTF_MODIFIED	0x20		/* modified dynamically (by redirect)*/#define RTF_DONE		0x40		/* message confirmed */#define RTF_NO_MSGS	RTF_DONE	/* tells the RTM to not generate					 * routing messages					 */#define RTF_DELCLONE	0x80		/* delete cloned route */#define RTF_INTF_ROUTE	RTF_DELCLONE	/* Used to indicate to rtrequest that					 * this is an interface route. */#define RTF_CLONING	0x100		/* generate new routes on use */#define RTF_XRESOLVE	0x200		/* external daemon resolves name */#define RTF_LLINFO	0x400		/* generated by link layer (e.g. ARP)*/#define RTF_STATIC	0x800		/* manually added */#define RTF_BLACKHOLE	0x1000		/* just discard pkts (during updates)*/#define RTF_MGMT		0x2000          /* modified by management proto */#define RTF_PROTO2	0x4000		/* protocol specific routing flag */#define RTF_PROTO1	0x8000		/* protocol specific routing flag */#define RTF_PRCLONING	0x10000		/* protocol requires cloning */#define RTF_WASCLONED	0x20000		/* route generated through cloning */#define RTF_PROTO3	0x40000		/* protocol specific routing flag */#define RTPRF_OURS	RTF_PROTO3	/* set on routes we manage *//*			0x80000		   unused */#define RTF_PINNED	0x100000	/* future use */#define RTF_LOCAL	0x200000 	/* route represents a local address */#define RTF_BROADCAST	0x400000	/* route represents a bcast address */#define RTF_MULTICAST	0x800000	/* route represents a mcast address */					/* 0x1000000 and up unassigned */#define RTF_LLNOTAVAIL	0x1000000	/* Link layer not available for eg. */					/* if the interface is down */#define RTF_PRIMARY  	0x2000000	/* Primary route -used for forwarding*//* * Routing statistics. */struct	rtstat {	short	rts_badredirect;	/* bogus redirect calls */	short	rts_dynamic;		/* routes created by redirects */	short	rts_newgateway;		/* routes modified by redirects */	short	rts_unreach;		/* lookups which failed */	short	rts_wildcard;		/* lookups satisfied by a wildcard */};/* * Structures for routing messages. */struct rt_msghdr {	u_short	rtm_msglen;	/* to skip over non-understood messages */	u_char	rtm_version;	/* future binary compatibility */	u_char	rtm_type;	/* message type */	u_short	rtm_index;	/* index for associated ifp */	int	rtm_flags;	/* flags, incl. kern & message, e.g. DONE */	int	rtm_addrs;	/* bitmask identifying sockaddrs in msg */	pid_t	rtm_pid;	/* identify sender */	int	rtm_seq;	/* for sender to identify action */	int	rtm_errno;	/* why failed */	int	rtm_use;	/* from rtentry */	u_long	rtm_inits;	/* which metrics we are initializing */	struct	rt_metrics rtm_rmx; /* metrics themselves */};#define RTM_VERSION	5	/* Up the ante and ignore older versions *//* * Message types. The message numbers should be continous as their * values are used as array indices */#define RTM_ADD		0x1	/* Add Route */#define RTM_DELETE	0x2	/* Delete Route */#define RTM_CHANGE	0x3	/* Change Metrics or flags */#define RTM_GET		0x4	/* Report Metrics */#define RTM_LOSING	0x5	/* Kernel Suspects Partitioning */#define RTM_REDIRECT	0x6	/* Told to use different route */#define RTM_MISS		0x7	/* Lookup failed on this address */#define RTM_LOCK		0x8	/* fix specified metrics */#define RTM_OLDADD	0x9	/* caused by SIOCADDRT */#define RTM_OLDDEL	0xa	/* caused by SIOCDELRT */#define RTM_RESOLVE	0xb	/* req to resolve dst to LL addr */#define RTM_NEWADDR	0xc	/* address being added to iface */#define RTM_DELADDR	0xd	/* address being removed from iface */#define RTM_IFINFO	0xe	/* iface going up/down etc. */#define RTM_NEWMADDR	0xf	/* mcast group membership being added to if */#define RTM_DELMADDR	0x10	/* mcast group membership being deleted */#define RTM_IFANNOUNCE	0x11	/* iface arrival/departure */#ifdef ROUTER_STACK/* New WRN messages */#define RTM_NEWCHANGE	0x12	/* Change gateway of duplicate route */#define RTM_NEWGET	0x13	/* Find any route with gateway */#define RTM_GETALL	0x14	/* Get IP route to dst and any duplicates */#endif /* ROUTER_STACK */#define RTM_NEWIPROUTE	0x15	/* Replacement for deleted primary IP route */#define RTM_OLDIPROUTE	0x16	/* Demoted IP route replaced with new entry */#ifdef ROUTER_STACK/* Backward compatibility messages. Will go away in the next release */    #define RTM_ADDEXTRA	0x17	/* Duplicate route added */#define RTM_DELEXTRA	0x18	/* Duplicate route deleted */#endif /* ROUTER_STACK */#define RTM_ADDRINFO	0x19	/* change address flags *//* * Bitmask values for rtm_inits and rmx_locks. */#define RTV_MTU		0x1	/* init or lock _mtu */#define RTV_HOPCOUNT	0x2	/* init or lock _hopcount */#define RTV_EXPIRE	0x4	/* init or lock _expire */#define RTV_RPIPE	0x8	/* init or lock _recvpipe */#define RTV_SPIPE	0x10	/* init or lock _sendpipe */#define RTV_SSTHRESH	0x20	/* init or lock _ssthresh */#define RTV_RTT		0x40	/* init or lock _rtt */#define RTV_RTTVAR	0x80	/* init or lock _rttvar *//* New flag values for additional metrics */#define RTV_VALUE1      0x100   /* assign or lock first additional metric */#define RTV_VALUE2      0x200   /* assign or lock second additional metric */#define RTV_VALUE3      0x400   /* assign or lock third additional metric */#define RTV_VALUE4      0x800   /* assign or lock fourth additional metric */#define RTV_VALUE5      0x1000  /* assign or lock fifth additional metric */#define RTV_ROUTETAG    0x2000  /* assign or lock route tag value */#define RTV_WEIGHT      0x4000  /* assign or lock administrative weight *//* * Bitmask values for rtm_addrs. */#define RTA_DST		0x1	/* destination sockaddr present */#define RTA_GATEWAY	0x2	/* gateway sockaddr present */#define RTA_NETMASK	0x4	/* netmask sockaddr present */#define RTA_GENMASK	0x8	/* cloning mask sockaddr present */#define RTA_IFP		0x10	/* interface name sockaddr present */#define RTA_IFA		0x20	/* interface addr sockaddr present */#define RTA_AUTHOR	0x40	/* sockaddr for author of redirect */#define RTA_BRD		0x80	/* for NEWADDR, broadcast or p-p dest addr *//* * Index offsets for sockaddr array for alternate internal encoding. */#define RTAX_DST		0	/* destination sockaddr present */#define RTAX_GATEWAY	1	/* gateway sockaddr present */#define RTAX_NETMASK	2	/* netmask sockaddr present */#define RTAX_GENMASK	3	/* cloning mask sockaddr present */#define RTAX_IFP		4	/* interface name sockaddr present */#define RTAX_IFA		5	/* interface addr sockaddr present */#define RTAX_AUTHOR	6	/* sockaddr for author of redirect */#define RTAX_BRD		7	/* for NEWADDR, broadcast or p-p dest addr */#define RTAX_MAX		8	/* size of array to allocate */struct rt_addrinfo {	int	rti_addrs;	struct	sockaddr *rti_info[RTAX_MAX];};struct route_cb {	int	ip_count;	int	ip6_count;	int	ipx_count;	int	ns_count;	int	any_count;};/* * This macro is called by users of RTM to release references to the  * route entry. * this macro will be called as RTFREE (rt) */#ifdef FINEGRAIN_LOCKING_MODEL#define	RTFREE(rt)	ipRouteUnlock (rt) #else#define	RTFREE(rt)	_RTFREE (rt) #endif /* FINEGRAIN_LOCKING_MODEL */#ifdef _WRS_KERNEL#ifdef FINEGRAIN_LOCKING_MODEL#define	RTLOCK(rt)	ipRouteLock (rt) #else#define	RTLOCK(rt)	(RREFCNT (rt))++#endif /* FINEGRAIN_LOCKING_MODEL */#ifndef VIRTUAL_STACKextern struct route_cb _route_cb;#endif	/* VIRTUAL_STACK */struct ifmultiaddr;struct proc;struct ifaddr;int	 route_init __P((void));void	 rtalloc __P((struct route *));void	 rtalloc_ign __P((struct route *, u_long));struct rtentry *	 rtalloc1 __P((struct sockaddr *, int, u_long));int	 rtinit __P((struct ifaddr *, int, int));int	 rtioctl __P((u_long, caddr_t, struct proc *));int	 rtredirect __P((struct sockaddr *, struct sockaddr *,	    struct sockaddr *, int, struct sockaddr *, struct rtentry **));int	 rtrequest __P((int, struct sockaddr *,	    struct sockaddr *, struct sockaddr *, int, struct rtentry **));struct ifaddr *ifa_ifwithindex __P((int flags, int index, struct sockaddr *dst, 				    struct sockaddr *gate));struct ifaddr *ifa_ifaddrValidate __P((void *pIfAddr, int index)); void rt_maskedcopy __P((struct sockaddr *src, struct sockaddr *dst, 			struct sockaddr *netmask));void ipRouteFree __P((struct rtentry * pRoute, BOOL inTable));#include <route/ipRouteLib.h>#endif /* _WRS_KERNEL */#ifdef __cplusplus}#endif#endif /* _NET_ROUTE_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -