table.h

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C头文件 代码 · 共 109 行

H
109
字号
/*#ifndef lintstatic	char	*sccsid = "@(#)table.h	4.1	(ULTRIX)	7/2/90";#endif lint*//************************************************************************ *									* *			Copyright (c) 1984,1988 by			* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   with the  inclusion  of  the  above  copyright  notice.   This	* *   software  or  any  other copies thereof may not be provided or	* *   otherwise made available to any other person.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *   This software is  derived  from  software  received  from  the	* *   University    of   California,   Berkeley,   and   from   Bell	* *   Laboratories.  Use, duplication, or disclosure is  subject  to	* *   restrictions  under  license  agreements  with  University  of	* *   California and with AT&T.						* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************//* * Copyright (c) 1983 Regents of the University of California. * All rights reserved.  The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * *	table.h	5.4 (Berkeley) 5/28/87 *//* * Routing table management daemon. *//* * Routing table structure; differs a bit from kernel tables. * * Note: the union below must agree in the first 4 members * so the ioctl's will work. */struct rthash {	struct	rt_entry *rt_forw;	struct	rt_entry *rt_back;};struct rt_entry {	struct	rt_entry *rt_forw;	struct	rt_entry *rt_back;	union {		struct	rtentry rtu_rt;		struct {			u_long	rtu_hash;			struct	sockaddr rtu_dst;			struct	sockaddr rtu_router;			short	rtu_flags;			short	rtu_state;			int	rtu_timer;			int	rtu_metric;			int	rtu_ifmetric;			struct	interface *rtu_ifp;		} rtu_entry;	} rt_rtu;};#define	rt_rt		rt_rtu.rtu_rt			/* pass to ioctl */#define	rt_hash		rt_rtu.rtu_entry.rtu_hash	/* for net or host */#define	rt_dst		rt_rtu.rtu_entry.rtu_dst	/* match value */#define	rt_router	rt_rtu.rtu_entry.rtu_router	/* who to forward to */#define	rt_flags	rt_rtu.rtu_entry.rtu_flags	/* kernel flags */#define	rt_timer	rt_rtu.rtu_entry.rtu_timer	/* for invalidation */#define	rt_state	rt_rtu.rtu_entry.rtu_state	/* see below */#define	rt_metric	rt_rtu.rtu_entry.rtu_metric	/* cost of route */#define	rt_ifmetric	rt_rtu.rtu_entry.rtu_ifmetric	/* cost of route if */#define	rt_ifp		rt_rtu.rtu_entry.rtu_ifp	/* interface to take */#define	ROUTEHASHSIZ	32		/* must be a power of 2 */#define	ROUTEHASHMASK	(ROUTEHASHSIZ - 1)/* * "State" of routing table entry. */#define	RTS_CHANGED	0x1		/* route has been altered recently */#define	RTS_EXTERNAL	0x2		/* extern info, not installed or sent */#define	RTS_INTERNAL	0x4		/* internal route, not installed */#define	RTS_PASSIVE	IFF_PASSIVE	/* don't time out route */#define	RTS_INTERFACE	IFF_INTERFACE	/* route is for network interface */#define	RTS_REMOTE	IFF_REMOTE	/* route is for ``remote'' entity */#define	RTS_SUBNET	IFF_SUBNET	/* route is for network subnet *//* * Flags are same as kernel, with this addition for af_rtflags: */#define	RTF_SUBNET	0x8000		/* pseudo: route to subnet */struct	rthash nethash[ROUTEHASHSIZ];struct	rthash hosthash[ROUTEHASHSIZ];struct	rt_entry *rtlookup();struct	rt_entry *rtfind();

⌨️ 快捷键说明

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