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

📄 ip.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
/*static       char    *sccsid = "@(#)ip.h	4.3  (ULTRIX)        11/9/90"; *//************************************************************************ *									* *			Copyright (c) 1985 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.	* *									* ************************************************************************//************************************************************************ *			Modification History				* *									* *	Uttam Shikarpur - 10/17/89    					* *		Made the value of MAXTTL, a manifest constant,    	* *		writeable.						* *	Larry Cohen  -	09/16/85					* * 		Add 43bsd alpha tape changes for subnet routing		* *									* *	Larry Cohen  -  01/28/87 * 		Offsets to fields in options other than EOL and NOP. *		 ************************************************************************//* * Copyright (c) 1982 Regents of the University of California. * All rights reserved.  The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * *	@(#)ip.h	6.5 (Berkeley) 6/8/85 */#ifdef KERNEL#include "../h/ansi_compat.h"#else#include <ansi_compat.h>#endif/* * Definitions for internet protocol version 4. * Per RFC 791, September 1981. */#define	IPVERSION	4/* * Structure of an internet header, naked of options. * * We declare ip_len and ip_off to be short, rather than u_short * pragmatically since otherwise unsigned comparisons can result * against negative integers quite easily, and fail in subtle ways. */struct ip {#ifdef __vax	u_char	ip_hl:4,		/* header length */		ip_v:4;			/* version */#endif /* __vax */#ifdef __mips#ifdef __MIPSEL	u_char	ip_hl:4,		/* header length */		ip_v:4;			/* version */#endif /* __MIPSEL */#ifdef __MIPSEB	u_char	ip_v:4,			/* version */		ip_hl:4;		/* header length */#endif /* __MIPSEB */#endif /* __mips */	u_char	ip_tos;			/* type of service */	short	ip_len;			/* total length */	u_short	ip_id;			/* identification */	short	ip_off;			/* fragment offset field */#define	IP_DF 0x4000			/* dont fragment flag */#define	IP_MF 0x2000			/* more fragments flag */	u_char	ip_ttl;			/* time to live */	u_char	ip_p;			/* protocol */	u_short	ip_sum;			/* checksum */	struct	in_addr ip_src,ip_dst;	/* source and dest address */};/* * Definitions for options. */#define	IPOPT_COPIED(o)		((o)&0x80)#define	IPOPT_CLASS(o)		((o)&0x60)#define	IPOPT_NUMBER(o)		((o)&0x1f)#define	IPOPT_CONTROL		0x00#define	IPOPT_RESERVED1		0x20#define	IPOPT_DEBMEAS		0x40#define	IPOPT_RESERVED2		0x60#define	IPOPT_EOL		0		/* end of option list */#define	IPOPT_NOP		1		/* no operation */#define	IPOPT_RR		7		/* record packet route */#define	IPOPT_TS		68		/* timestamp */#define	IPOPT_SECURITY		130		/* provide s,c,h,tcc */#define	IPOPT_LSRR		131		/* loose source route */#define	IPOPT_SATID		136		/* satnet id */#define	IPOPT_SSRR		137		/* strict source route *//* * Offsets to fields in options other than EOL and NOP. */#define IPOPT_OPTVAL            0               /* option ID */#define IPOPT_OLEN              1               /* option length */#define IPOPT_OFFSET            2               /* offset within option */#define IPOPT_MINOFF            4               /* min value of above *//* * Time stamp option structure. */struct	ip_timestamp {	u_char	ipt_code;		/* IPOPT_TS */	u_char	ipt_len;		/* size of structure (variable) */	u_char	ipt_ptr;		/* index of current entry */#ifdef __vax	u_char	ipt_flg:4,		/* flags, see below */		ipt_oflw:4;		/* overflow counter */#endif /* __vax */#ifdef __mips#ifdef __MIPSEL	u_char	ipt_flg:4,		/* flags, see below */		ipt_oflw:4;		/* overflow counter */#endif /* __MIPSEL */#ifdef __MIPSEB	u_char	ipt_oflw:4,		/* overflow counter */		ipt_flg:4;		/* flags, see below */#endif /* __MIPSEB */#endif /* __mips */	union ipt_timestamp {		n_long	ipt_time[1];		struct	ipt_ta {			struct in_addr ipt_addr;			n_long ipt_time;		} ipt_ta[1];	} ipt_timestamp;};/* flag bits for ipt_flg */#define	IPOPT_TS_TSONLY		0		/* timestamps only */#define	IPOPT_TS_TSANDADDR	1		/* timestamps and addresses */#define	IPOPT_TS_PRESPEC	2		/* specified modules only *//* bits for security (not byte swapped) */#define	IPOPT_SECUR_UNCLASS	0x0000#define	IPOPT_SECUR_CONFID	0xf135#define	IPOPT_SECUR_EFTO	0x789a#define	IPOPT_SECUR_MMMM	0xbc4d#define	IPOPT_SECUR_RESTR	0xaf13#define	IPOPT_SECUR_SECRET	0xd788#define	IPOPT_SECUR_TOPSECRET	0x6bc5/* * Internet implementation parameters. */#define	MAXTTL		255#define	IPFRAGTTL	15		/* time to live for frag chains */#define	IPTTLDEC	1		/* subtracted when forwarding */#define	IP_MSS		576		/* default maximum segment size */extern int maxttl;			/* MAXTTL assigned in net/ip_icmp.c */

⌨️ 快捷键说明

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