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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nr4.h

?? uCLinux下的一個TCP/IP協(xié)議棧源碼
?? H
字號:
#ifndef	_NR4_H
#define	_NR4_H
/* nr4.h:  defines for netrom layer 4 (transport) support */

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

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

#ifndef	_AX25_H
#include "ax25.h"
#endif

/* compile-time limitations */

#define	NR4MAXCIRC	20		/* maximum number of open circuits */
#define NR4MAXWIN	127		/* maximum window size, send and receive */

/* protocol limitation: */

#define	NR4MAXINFO	236		/* maximum data in an info packet */

/* sequence number wraparound mask */

#define NR4SEQMASK	0xff	/* eight-bit sequence numbers */

/* flags in high nybble of opcode byte */

#define	NR4CHOKE	0x80
#define	NR4NAK		0x40
#define	NR4MORE		0x20	/* The "more follows" flag for */
				/* pointless packet reassembly */

/* mask for opcode nybble */

#define	NR4OPCODE	0x0f

/* opcodes */

#define NR4OPPID	0		/* protocol ID extension to network layer */
#define	NR4OPCONRQ	1		/* connect request */
#define	NR4OPCONAK	2		/* connect acknowledge */
#define	NR4OPDISRQ	3		/* disconnect request */
#define	NR4OPDISAK	4		/* disconnect acknowledge */
#define	NR4OPINFO	5		/* information packet */
#define	NR4OPACK	6		/* information ACK */
#define NR4NUMOPS	7		/* number of transport opcodes */

/* minimum length of NET/ROM transport header */

#define	NR4MINHDR	5

/* host format net/rom transport header */

struct nr4hdr {
	uint8 opcode ;		/* opcode and flags */
	uint8 yourindex ;	/* receipient's circuit index */
	uint8 yourid ;		/* receipient's circuit ID */

	union {

		struct {				/* network extension */
			uint8 family ;	/* protocol family */
			uint8 proto ;	/* protocol within family */
		} pid ;

		struct {				/* connect request */
			uint8 myindex ;	/* sender's circuit index */
			uint8 myid ;	/* sender's circuit ID */
			uint8 window ;	/* sender's proposed window size */
			uint8 user[AXALEN] ;	/* callsign of originating user */
			uint8 node[AXALEN] ;	/* callsign of originating node */
		} conreq ;

		struct {				/* connect acknowledge */
			uint8 myindex ;	/* sender's circuit index */
			uint8 myid ;	/* sender's circuit ID */
			uint8 window ; 	/* accepted window size */
		} conack ;

		struct {				/* information */
			uint8 txseq ;	/* sender's tx sequence number */
			uint8 rxseq ;	/* sender's rx sequence number */
		} info ;

		struct {				/* information acknowledge */
			uint8 rxseq ;	/* sender's rx sequence number */
		} ack ;

	} u ;	/* End of union */

} ;

/* A netrom send buffer structure */

struct nr4txbuf {
	struct timer tretry ;		/* retry timer */
	unsigned retries ;			/* number of retries */
	struct mbuf *data ;			/* data sent but not acknowledged */
} ;

/* A netrom receive buffer structure */

struct nr4rxbuf {
	uint8 occupied ;	/* flag: buffer in use */
	struct mbuf *data ; 		/* data received out of sequence */
} ;

/* address structure */
struct nr4_addr {
	uint8 user[AXALEN];
	uint8 node[AXALEN];
};

struct sockaddr_nr {
	short nr_family;
	struct nr4_addr nr_addr;
};

/* The netrom circuit control block */

struct nr4cb {
	unsigned mynum ;			/* my circuit number */
	unsigned myid ;				/* my circuit ID */
	unsigned yournum ;			/* remote circuit number */
	unsigned yourid ;			/* remote circuit ID */
	struct nr4_addr remote ;		/* address of remote node */
	struct nr4_addr local ;			/* our own address */

	unsigned window ;			/* negotiated window size */

	/* Data for round trip timer calculation and setting */

	long srtt ;					/* Smoothed round trip time */
	long mdev ;					/* Mean deviation in round trip time */
	unsigned blevel ;			/* Backoff level */
	unsigned txmax ;			/* The maximum number of retries among */
								/* the frames in the window.  This is 0 */
								/* if there are no frames in the window. */
								/* It is used as a baseline to determine */
								/* when to increment the backoff level. */

	/* flags */

	char clone ;				/* clone this cb upon connect */
	char choked ;				/* choke received from remote */
	char qfull ;				/* receive queue is full, and we have */
								/* choked the other end */
	char naksent ;				/* a NAK has already been sent */

	/* transmit buffers and window variables */

	struct nr4txbuf *txbufs ;	/* pointer to array[windowsize] of bufs */
	uint8 nextosend ;	/* sequence # of next frame to send */
	uint8 ackxpected ;	/* sequence number of next expected ACK */
	unsigned nbuffered ;		/* number of buffered TX frames */
	struct mbuf *txq ;			/* queue of unsent data */

	/* receive buffers and window variables */

	struct nr4rxbuf *rxbufs ;	/* pointer to array[windowsize] of bufs */
	uint8 rxpected ;	/* # of next receive frame expected */
	uint8 rxpastwin ;	/* top of RX window + 1 */
	struct mbuf *rxq ;			/* "fully" received data queue */

	/* Connection state */

	int state ;					/* connection state */
#define NR4STDISC	0			/* disconnected */
#define NR4STCPEND	1			/* connection pending */
#define NR4STCON	2			/* connected */
#define	NR4STDPEND	3			/* disconnect requested locally */
#define NR4STLISTEN	4			/* listening for incoming connections */

	int dreason ;				/* Reason for disconnect */
#define NR4RNORMAL	0			/* Normal, requested disconnect */
#define NR4RREMOTE	1			/* Remote requested */
#define	NR4RTIMEOUT	2			/* Connection timed out */
#define	NR4RRESET	3			/* Connection reset locally */
#define NR4RREFUSED	4			/* Connect request refused */

	/* Per-connection timers */

	struct timer tchoke ;		/* choke timeout */
	struct timer tack ;		/* ack delay timer */

	struct timer tcd ;		/* connect/disconnect timer */
	unsigned cdtries ;		/* Number of connect/disconnect tries */

	void (*r_upcall)(struct nr4cb *,uint16);
					/* receive upcall */
	void (*t_upcall)(struct nr4cb *,uint16);
					/* transmit upcall */
	void (*s_upcall)(struct nr4cb *,int,int);
					/* state change upcall */
	int user ;			/* user linkage area */
} ;

/* The netrom circuit pointer structure */

struct nr4circp {
	uint8 cid ;			/* circuit ID; incremented each time*/
						/* this circuit is used */
	struct nr4cb *ccb ;		/* pointer to circuit control block, */
						/*  NULL if not in use */
} ;

/* The circuit table: */

extern struct nr4circp Nr4circuits[NR4MAXCIRC] ;

/* Some globals */

extern unsigned short Nr4window ;	/* The advertised window size, in frames */
extern long Nr4irtt ;			/* The initial round trip time */
extern unsigned short Nr4retries ;	/* The number of times to retry */
extern long Nr4acktime ;		/* How long to wait until ACK'ing */
extern char *Nr4states[] ;		/* NET/ROM state names */
extern char *Nr4reasons[] ;		/* Disconnect reason names */
extern unsigned short Nr4qlimit ;		/* max receive queue length before CHOKE */
extern long Nr4choketime ;		/* CHOKEd state timeout */
extern uint8 Nr4user[AXALEN];	/* User callsign in outgoing connects */

/* function definitions */

/* In nr4hdr.c: */
int ntohnr4(struct nr4hdr *, struct mbuf **);
struct mbuf *htonnr4(struct nr4hdr *);

/* In nr4subr.c: */
void free_n4circ(struct nr4cb *);
struct nr4cb *get_n4circ(int, int);
int init_nr4window(struct nr4cb *, unsigned);
int nr4between(unsigned, unsigned, unsigned);
struct nr4cb *match_n4circ(int, int,uint8 *,uint8 *);
struct nr4cb *new_n4circ(void);
void nr4defaults(struct nr4cb *);
int nr4valcb(struct nr4cb *);
void nr_garbage(int red);

/* In nr4.c: */
void nr4input(struct nr4hdr *hdr,struct mbuf **bp);
int nr4output(struct nr4cb *);
void nr4sbuf(struct nr4cb *, unsigned);
void nr4sframe(uint8 *, struct nr4hdr *, struct mbuf **);
void nr4state(struct nr4cb *, int);

/* In nr4timer.c */
void nr4ackit(void *);
void nr4cdtimeout(void *);
void nr4txtimeout(void *);
void nr4unchoke(void *);

/* In nr4user.c: */
void disc_nr4(struct nr4cb *);
int kick_nr4(struct nr4cb *);
struct nr4cb *open_nr4(struct nr4_addr *, struct nr4_addr *, int,
  void (*)(struct nr4cb *,uint16),
  void (*)(struct nr4cb *,uint16),
  void (*)(struct nr4cb *,int,int),int);
struct mbuf *recv_nr4(struct nr4cb *, uint16);
void reset_nr4(struct nr4cb *);
int send_nr4(struct nr4cb *, struct mbuf **);

/* In nrcmd.c: */
void nr4_state(struct nr4cb *, int, int);

#endif	/* _NR4_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费性生活视频播放| www国产精品av| 99久久精品国产网站| 成a人片国产精品| 国产福利91精品| 国产成人免费视频网站高清观看视频 | 日本中文字幕一区| 香蕉加勒比综合久久| 午夜欧美视频在线观看| 日韩制服丝袜先锋影音| 蜜臀av性久久久久蜜臀aⅴ四虎| 色丁香久综合在线久综合在线观看| 一区二区理论电影在线观看| 国产精品电影院| 亚洲最新视频在线播放| 亚洲1区2区3区4区| 麻豆精品久久久| 国产成人激情av| 91九色最新地址| 欧美高清性hdvideosex| 久久久五月婷婷| 亚洲欧美日韩电影| 天天影视涩香欲综合网| 韩国欧美一区二区| av成人老司机| 欧美电影在哪看比较好| 中文字幕乱码一区二区免费| 亚洲综合色自拍一区| 美女被吸乳得到大胸91| 99久久综合国产精品| 在线一区二区三区四区五区 | 亚洲摸摸操操av| 亚洲6080在线| 国产美女久久久久| 91电影在线观看| 亚洲精品在线网站| 一区二区三区电影在线播| 久久99国产精品免费| 色94色欧美sute亚洲线路一久| 国产乱人伦偷精品视频免下载 | 欧美电视剧免费观看| 国产精品免费久久久久| 午夜伊人狠狠久久| 91在线丨porny丨国产| 日韩欧美在线网站| 一区二区三区在线视频免费| 国产老女人精品毛片久久| 91麻豆成人久久精品二区三区| av在线不卡观看免费观看| 7777精品伊人久久久大香线蕉超级流畅| 国产成人欧美日韩在线电影| 777欧美精品| 亚洲欧美日韩精品久久久久| 精品亚洲免费视频| 在线观看日产精品| 日韩毛片一二三区| 成人中文字幕在线| 国产亚洲综合性久久久影院| 日韩黄色免费电影| 欧美日韩五月天| 亚洲狼人国产精品| 91影院在线观看| 亚洲国产精品成人综合| 国产成人午夜高潮毛片| 精品免费一区二区三区| 美女视频一区二区| 欧美一级爆毛片| 免费久久精品视频| 91精品国产乱| 日本亚洲三级在线| 日韩三级中文字幕| 久久精品国产亚洲高清剧情介绍| 国产mv日韩mv欧美| 国产午夜亚洲精品理论片色戒 | 欧美猛男男办公室激情| 国产精品不卡一区| 99久久国产免费看| 最新日韩av在线| 色999日韩国产欧美一区二区| 欧美性感一类影片在线播放| 亚洲国产日日夜夜| 欧美精品在欧美一区二区少妇| 日韩亚洲欧美一区二区三区| 日本成人在线电影网| 精品久久久久久久久久久久久久久久久 | 亚洲欧美一区二区视频| 丁香激情综合国产| 中文字幕二三区不卡| 色综合久久六月婷婷中文字幕| 日韩欧美中文字幕制服| 狠狠久久亚洲欧美| 国产精品理论片在线观看| 欧美中文字幕一区二区三区| 日韩中文字幕av电影| 国产欧美日韩不卡免费| 99视频一区二区三区| 午夜精品国产更新| 久久久精品欧美丰满| 色综合久久久久| 精品一区二区在线看| 国产精品伦理在线| 3751色影院一区二区三区| 国产一区二区福利| 一区二区三区产品免费精品久久75| 激情丁香综合五月| 亚洲欧美日韩久久精品| 欧美不卡激情三级在线观看| 成人免费毛片片v| 首页亚洲欧美制服丝腿| 久久久久久影视| 在线影院国内精品| 国产激情偷乱视频一区二区三区| 日韩一区二区三区电影在线观看 | 久久99蜜桃精品| 国产精品视频你懂的| 欧美精品色一区二区三区| 国产成人一级电影| 日本一区中文字幕 | 精品视频在线免费| 国产精品一级片| 日韩在线播放一区二区| 国产精品嫩草影院com| 欧美xingq一区二区| 欧美性受极品xxxx喷水| 成人免费av网站| 狠狠色丁香久久婷婷综合_中| 欧美肥胖老妇做爰| av日韩在线网站| 国产麻豆午夜三级精品| 日韩高清国产一区在线| 亚洲一区二区三区视频在线播放| 色婷婷国产精品| 成人午夜av在线| 国内精品嫩模私拍在线| 亚洲国产成人91porn| 中文字幕日本不卡| 国产午夜亚洲精品午夜鲁丝片 | 国内久久精品视频| 亚洲自拍偷拍综合| 1000精品久久久久久久久| 国产人伦精品一区二区| 日韩精品一区二| 欧美美女直播网站| 欧美日韩一区二区三区在线| 99v久久综合狠狠综合久久| 国产高清不卡一区二区| 激情综合五月婷婷| 久久精品国产一区二区| 精品一区二区三区蜜桃| 美女视频黄免费的久久| 激情文学综合丁香| 久久国产精品99久久久久久老狼 | 日本不卡在线视频| 三级欧美韩日大片在线看| 亚洲国产精品一区二区久久恐怖片| 欧美精品xxxxbbbb| 欧美精品1区2区3区| 欧美日韩国产综合一区二区三区| 日韩精品每日更新| 蜜桃av噜噜一区| 国产一区二区三区四区在线观看| 国产精品网站在线播放| 国产精品电影一区二区| 亚洲视频免费看| 亚洲一区二区三区四区五区黄 | 成人三级伦理片| 成人v精品蜜桃久久一区| av一区二区三区| 色拍拍在线精品视频8848| 欧美肥妇free| 久久色.com| 国产精品午夜在线| 一区二区三区免费看视频| 午夜欧美在线一二页| 国产一区二区三区黄视频 | 中日韩av电影| 亚洲高清不卡在线观看| 久久se精品一区二区| 成人污污视频在线观看| 欧美色综合网站| xfplay精品久久| 国产日韩高清在线| 洋洋av久久久久久久一区| 五月婷婷久久丁香| 国产乱国产乱300精品| 色激情天天射综合网| 精品成人在线观看| 亚洲欧美日韩人成在线播放| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美剧在线免费观看网站| 在线播放中文字幕一区| 国产三级精品视频| 亚洲成人自拍网| 成人免费毛片嘿嘿连载视频| 在线观看成人免费视频| 亚洲国产精品成人综合| 免费精品99久久国产综合精品| 亚洲午夜私人影院| 国产成人免费在线视频| 欧美一级片免费看|