亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ip.h.bak

?? 很好的TCP_IP協(xié)議源代碼分析,很適用很好
?? BAK
字號(hào):
//////////////////////////////////////////////////////////////////////////
//* ip protocol
#ifndef	_IP_H
#define	_IP_H

#ifndef	_GLOBAL_H
#include "global.h"
#endif

#ifndef	_MBUF_H
#include "mbuf.h"
#endif

#ifndef	_IFACE_H
#include "iface.h"
#endif

#ifndef	_INTERNET_H
#include "internet.h"
#endif

#ifndef	_TIMER_H
#include "timer.h"
#endif

#define TLB		30	//* Default reassembly timeout, sec
#define	IPVERSION	4       //*
#define IP_CS_OLD	1	//* use saved checksum
#define IP_CS_NEW	0	//* calculate checksum

extern char Hashtab[];	/* Modulus lookup table */

/* SNMP MIB variables, used for statistics and control. See RFC 1066 */
extern struct mib_entry Ip_mib[];
#define	ipForwarding		Ip_mib[1].value.integer
#define	ipDefaultTTL		Ip_mib[2].value.integer
#define	ipInReceives		Ip_mib[3].value.integer
#define	ipInHdrErrors		Ip_mib[4].value.integer
#define	ipInAddrErrors		Ip_mib[5].value.integer
#define	ipForwDatagrams		Ip_mib[6].value.integer
#define	ipInUnknownProtos	Ip_mib[7].value.integer
#define	ipInDiscards		Ip_mib[8].value.integer
#define	ipInDelivers		Ip_mib[9].value.integer
#define	ipOutRequests		Ip_mib[10].value.integer
#define	ipOutDiscards		Ip_mib[11].value.integer
#define	ipOutNoRoutes		Ip_mib[12].value.integer
#define	ipReasmTimeout		Ip_mib[13].value.integer
#define	ipReasmReqds		Ip_mib[14].value.integer
#define	ipReasmOKs		Ip_mib[15].value.integer
#define	ipReasmFails		Ip_mib[16].value.integer
#define	ipFragOKs		Ip_mib[17].value.integer
#define	ipFragFails		Ip_mib[18].value.integer
#define	ipFragCreates		Ip_mib[19].value.integer

#define	NUMIPMIB	19

/* IP header, INTERNAL representation */
#define IPLEN		20	/* Length of standard IP header */
#define IP_MAXOPT	40	/* Largest option field, bytes */
struct ip {
	int32 source;		/* Source address */
	int32 dest;		/* Destination address */
	uint16 length;		/* Total length */
	uint16 id;		/* Identification */
	uint16 offset;		/* Fragment offset in bytes */
	uint16 checksum;		/* Header checksum */

	struct {
		unsigned int congest:1;	/* Congestion experienced bit (exp) */
		unsigned int df:1;	/* Don't fragment flag */
		unsigned int mf:1;	/* More Fragments flag */
	} flags;

	uint8 version;		/* IP version number */
	uint8 tos;		/* Type of service */
	uint8 ttl;		/* Time to live */
	uint8 protocol;		/* Protocol */
	uint8 optlen;		/* Length of options field, bytes */
	uint8 options[IP_MAXOPT];/* Options field */
};
/* Fields in option type byte */
#define	OPT_COPIED	0x80	/* Copied-on-fragmentation flag */
#define	OPT_CLASS	0x60	/* Option class */
#define	OPT_NUMBER	0x1f	/* Option number */

/* IP option numbers */
#define	IP_EOL		0	/* End of options list */
#define	IP_NOOP		1	/* No Operation */
#define	IP_SECURITY	2	/* Security parameters */
#define	IP_LSROUTE	3	/* Loose Source Routing */
#define	IP_TIMESTAMP	4	/* Internet Timestamp */
#define	IP_RROUTE	7	/* Record Route */
#define	IP_STREAMID	8	/* Stream ID */
#define	IP_SSROUTE	9	/* Strict Source Routing */

/* Timestamp option flags */
#define	TS_ONLY		0	/* Time stamps only */
#define	TS_ADDRESS	1	/* Addresses + Time stamps */
#define	TS_PRESPEC	3	/* Prespecified addresses only */

/* IP routing table entry */
struct route {
	struct route *prev;	/* Linked list pointers */
	struct route *next;
	int32 target;		/* Target IP address */
	unsigned int bits;	/* Number of significant bits in target */
	int32 gateway;		/* IP address of local gateway for this target */
	int32 metric;		/* Hop count or whatever */
	struct iface *iface;	/* Device interface structure */
	struct {
		unsigned int rtprivate:1; /* Don't advertise this route */
		unsigned int rttrig:1;	/* Trigger is pending for this route */
	} flags;
	struct timer timer;	/* Time until aging of this entry */
	int32 uses;		/* Usage count */
};
extern struct route *Routes[32][HASHMOD];	/* Routing table */
extern struct route R_default;			/* Default route entry */

/* Cache for the last-used routing entry, speeds up the common case where
 * we handle a burst of packets to the same destination
 */
struct rt_cache {
	int32 target;
	struct route *route;
};
extern struct rt_cache Rt_cache[];
extern int32 Rtlookups;	/* Count of calls to rt_lookup() */
extern int32 Rtchits;		/* Count of cache hits in rt_lookup() */

extern uint16 Id_cntr;		/* Datagram serial number */

/* Reassembly descriptor */
struct reasm {
	struct reasm *next;	/* Linked list pointer */
	struct timer timer;	/* Reassembly timeout timer */
	struct frag *fraglist;	/* Head of data fragment chain */
	uint16 length;		/* Entire datagram length, if known */
	int32 source;		/* src/dest/id/protocol uniquely describe a datagram */
	int32 dest;
	uint16 id;
	char protocol;
};

/* Fragment descriptor in a reassembly list */
struct frag {
	struct frag *prev;	/* Previous fragment on list */
	struct frag *next;	/* Next fragment */
	struct mbuf *buf;	/* Actual fragment data */
	uint16 offset;		/* Starting offset of fragment */
	uint16 last;		/* Ending offset of fragment */
};

extern struct reasm *Reasmq;	/* The list of reassembly descriptors */

/* Structure for handling raw IP user sockets */
struct raw_ip {
	struct raw_ip *next;	/* Linked list pointer */

	struct mbuf *rcvq;	/* receive queue */
	void (*r_upcall)(struct raw_ip *);
	int protocol;		/* Protocol */
	int user;		/* User linkage */
};

extern struct raw_ip *Raw_ip;

/* Transport protocol link table */
struct iplink {
	char proto;
	char *name;
	void (*funct)(struct iface *,struct ip *,struct mbuf **,int,int32);
	void (*dump)(FILE *,struct mbuf **,int32,int32,int);
};
extern struct iplink Iplink[];

/* List of TCP port numbers to be given priority queuing */
extern int Tcp_interact[];

extern int Ip_trace;

/* In ip.c: */
void ip_garbage(int drastic);
void ip_recv(struct iface *iface,struct ip *ip,struct mbuf **bpp,
	int rxbroadcast, int32 said);
void ipip_recv(struct iface *iface,struct ip *ip,struct mbuf **bp,
	int rxbroadcast,int32 said);
int ip_send(int32 source,int32 dest,char protocol,char tos,char ttl,
	struct mbuf **bpp,uint16 length,uint16 id,char df);
struct raw_ip *raw_ip(int protocol,void (*r_upcall)(struct raw_ip *) );
void del_ip(struct raw_ip *rrp);
void rquench(struct iface *ifp,int drop);

/* In ipdump.c */
void dumpip(struct iface *iface,struct ip *ip,struct mbuf *bp,int32 spi);

/* In iproute.c: */
void ipinit(void);
uint16 ip_mtu(int32 addr);
void encap_tx(int dev,void *arg1,void *unused);
int ip_encap(struct mbuf **bpp,struct iface *iface,int32 gateway,uint8 tos);
void ip_proc(struct iface *iface,struct mbuf **bpp);
int ip_route(struct iface *i_iface,struct mbuf **bpp,int rxbroadcast);
int32 locaddr(int32 addr);
void rt_merge(int trace);
struct route *rt_add(int32 target,unsigned int bits,int32 gateway,
	struct iface *iface,int32 metric,int32 ttl,uint8 private);
int rt_drop(int32 target,unsigned int bits);
struct route *rt_lookup(int32 target);
struct route *rt_blookup(int32 target,unsigned int bits);

/* In iphdr.c: */
uint16 cksum(struct pseudo_header *ph,struct mbuf *m,uint16 len);
uint16 eac(int32 sum);
void htonip(struct ip *ip,struct mbuf **data,int cflag);
int ntohip(struct ip *ip,struct mbuf **bpp);

/* In either lcsum.c or pcgen.asm: */
uint16 lcsum(uint16 *wp,uint16 len);

/* In sim.c: */
void net_sim(struct mbuf *bp);

#endif /* _IP_H */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色精品天天在线观看视频| 欧美色视频一区| 亚洲午夜在线视频| 久久精品在线观看| 欧美狂野另类xxxxoooo| 成人白浆超碰人人人人| 免费高清在线一区| 亚洲一区二区精品视频| 欧美激情中文不卡| 日韩一级欧美一级| 在线观看www91| 91小视频在线免费看| 精久久久久久久久久久| 亚洲v精品v日韩v欧美v专区| 国产欧美精品一区| xfplay精品久久| 欧美一级片在线看| 欧美怡红院视频| 一本久道中文字幕精品亚洲嫩| 国模少妇一区二区三区| 日本少妇一区二区| 午夜影院久久久| 亚洲自拍欧美精品| 亚洲精品第一国产综合野| 国产精品精品国产色婷婷| 久久综合丝袜日本网| 欧美一级欧美三级| 欧美精品久久久久久久多人混战 | 成人av在线观| 国产精品一区一区三区| 激情欧美一区二区| 理论片日本一区| 热久久一区二区| 日韩成人av影视| 日韩激情一二三区| 五月激情综合色| 五月天视频一区| 亚洲v精品v日韩v欧美v专区| 亚洲成av人片一区二区三区| 亚洲地区一二三色| 丝袜亚洲另类欧美综合| 日本亚洲视频在线| 久久国产精品无码网站| 久久丁香综合五月国产三级网站| 人人超碰91尤物精品国产| 免费观看30秒视频久久| 久久er99精品| 国产98色在线|日韩| 国产成人av一区二区三区在线观看| 国产乱码精品1区2区3区| 国产不卡一区视频| 99久久综合精品| 欧美综合天天夜夜久久| 欧美精品久久久久久久久老牛影院| 91精品久久久久久久99蜜桃 | 精品成人一区二区| 精品国产免费一区二区三区香蕉| 26uuu国产一区二区三区| 日本一区二区三区四区| 亚洲女爱视频在线| 午夜精品爽啪视频| 国内久久婷婷综合| 99riav一区二区三区| 日本精品免费观看高清观看| 欧美精品日韩综合在线| 26uuu国产电影一区二区| 中文字幕在线观看一区| 一区二区成人在线| 蜜臀av性久久久久av蜜臀妖精| 韩国精品主播一区二区在线观看| 成人一级黄色片| 欧美日韩国产另类一区| 精品人伦一区二区色婷婷| 国产精品视频一二| 亚洲成av人片| 国产福利一区在线| 欧美日韩在线综合| 久久久99精品久久| 亚洲国产欧美在线人成| 国产精品99久久久久久久vr| 色播五月激情综合网| 欧美精品一区二区高清在线观看| 1区2区3区精品视频| 日本欧美肥老太交大片| 99久久免费精品| 日韩三级在线观看| 国产精品高潮久久久久无| 首页欧美精品中文字幕| 国产91在线看| 日韩一级免费观看| 一区二区三区色| 国产成人在线网站| 欧美日韩一区二区三区四区| 国产日韩欧美精品电影三级在线| 亚洲va国产天堂va久久en| 国产盗摄女厕一区二区三区| 在线成人av网站| 亚洲日穴在线视频| 国产乱国产乱300精品| 欧美日韩在线三级| 亚洲少妇中出一区| 国产一区二区三区精品欧美日韩一区二区三区 | www.欧美日韩| 欧美一区二区在线免费观看| 久久久久久久久99精品| 亚洲第一搞黄网站| 成人教育av在线| 精品人伦一区二区色婷婷| 亚洲精品日韩专区silk| 高清不卡一二三区| 欧美精品一区二区在线播放| 午夜激情一区二区| 在线观看免费一区| 亚洲色欲色欲www在线观看| 国产美女在线精品| 日韩精品一区二区在线| 日韩高清在线不卡| 在线观看国产精品网站| 日韩毛片视频在线看| 成人性视频网站| 欧美va亚洲va| 免费人成精品欧美精品| 欧美高清视频不卡网| 亚洲精品成人a在线观看| av亚洲精华国产精华精华| 国产欧美日韩亚州综合 | 欧美高清性hdvideosex| 一区二区欧美在线观看| 99精品视频在线播放观看| 国产欧美综合色| 国产盗摄精品一区二区三区在线| 精品国产91久久久久久久妲己| 免费成人美女在线观看.| 欧美精品精品一区| 视频一区二区三区在线| 51精品秘密在线观看| 亚洲一二三四区| 欧美午夜精品久久久久久超碰| 一区二区不卡在线视频 午夜欧美不卡在| www.视频一区| 亚洲美女视频一区| 欧美在线|欧美| 性久久久久久久久| 日韩丝袜情趣美女图片| 激情亚洲综合在线| 欧美国产禁国产网站cc| 91麻豆视频网站| 亚洲一区二区三区爽爽爽爽爽| 欧美在线观看视频一区二区三区| 午夜视频在线观看一区二区三区| 欧美乱妇15p| 狠狠色伊人亚洲综合成人| 国产欧美日韩不卡| 99视频精品在线| 亚洲成人先锋电影| 精品福利一区二区三区免费视频| 国产激情一区二区三区| 亚洲欧洲日韩av| 欧美精品tushy高清| 久久er99热精品一区二区| 欧美国产国产综合| 欧美性猛交一区二区三区精品| 日本sm残虐另类| 国产日韩欧美一区二区三区综合| 91亚洲精品久久久蜜桃| 日韩精品视频网站| 国产亚洲制服色| 欧美在线视频日韩| 久久福利资源站| 亚洲欧美日韩国产综合在线| 欧美亚洲高清一区二区三区不卡| 午夜精品一区二区三区电影天堂| 久久噜噜亚洲综合| 日本韩国欧美三级| 九色综合国产一区二区三区| 18成人在线观看| 欧美一区二区不卡视频| 成人在线视频首页| 日韩av一二三| 自拍偷自拍亚洲精品播放| 欧美一区二区三区四区高清| 懂色一区二区三区免费观看 | 亚洲一区二区三区四区中文字幕| 国产精品人成在线观看免费| 欧美日韩视频在线观看一区二区三区| 看国产成人h片视频| 伊人色综合久久天天人手人婷| 日韩网站在线看片你懂的| 99国产精品久| 韩国理伦片一区二区三区在线播放| 亚洲人成小说网站色在线 | 成人免费av在线| 青青草97国产精品免费观看| 国产午夜三级一区二区三| 欧亚一区二区三区| 不卡视频免费播放| 精品在线一区二区三区| 五月婷婷综合网| 亚洲欧洲精品成人久久奇米网| 精品少妇一区二区三区|