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

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

?? nr4.h

?? TCPIP協議包
?? 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一区二区三区免费野_久草精品视频
欧美男同性恋视频网站| 欧美三级一区二区| 国产在线精品一区在线观看麻豆| 亚洲国产欧美一区二区三区丁香婷| 亚洲国产成人一区二区三区| 久久精品综合网| 国产区在线观看成人精品 | 亚洲一区二区高清| 亚洲bt欧美bt精品| 日韩高清不卡一区| 狠狠久久亚洲欧美| 不卡一二三区首页| 欧洲国产伦久久久久久久| 在线成人午夜影院| 久久综合999| 成人欧美一区二区三区小说| 亚洲精品第一国产综合野| 午夜国产不卡在线观看视频| 在线观看亚洲精品视频| 亚洲精品免费视频| 欧美一区二区三区电影| 欧美成人艳星乳罩| 日本一区二区免费在线观看视频 | 久久亚洲免费视频| 日本一区二区成人在线| 亚洲三级久久久| 青青草国产成人av片免费| 国产一区 二区| 91蝌蚪porny| 欧美一区二区三区免费观看视频| 国产网站一区二区三区| 亚洲综合无码一区二区| 国产一区视频网站| 91福利资源站| 日本一区二区免费在线观看视频 | 欧美日韩中文字幕一区| 精品国产免费视频| 亚洲天堂2016| 极品销魂美女一区二区三区| 在线视频你懂得一区二区三区| 欧美xxxxx牲另类人与| 樱桃视频在线观看一区| 国产成人在线电影| 69久久99精品久久久久婷婷| 亚洲色图制服诱惑| 麻豆成人综合网| 欧美天天综合网| 中文字幕欧美日本乱码一线二线| 日本视频中文字幕一区二区三区| 91在线视频播放| 国产欧美一区二区精品性色超碰 | 国产欧美精品一区二区色综合朱莉| 性做久久久久久久久| 99国内精品久久| 国产精品久久免费看| 日本伊人午夜精品| 欧美日韩国产片| 亚洲综合色自拍一区| www.av亚洲| 国产亚洲一本大道中文在线| 另类小说综合欧美亚洲| 欧美精品日日鲁夜夜添| 亚洲综合偷拍欧美一区色| 99久久伊人网影院| 国产精品久久毛片| 国产成人午夜精品影院观看视频| 欧美精品一区二区久久久| 美腿丝袜亚洲三区| 日韩一卡二卡三卡| 日韩电影在线免费| 在线不卡免费av| 久久国产精品无码网站| 日韩欧美在线影院| 精品一区二区三区免费播放| 欧美大黄免费观看| 精品一区二区三区免费| 久久精品在这里| 国产ts人妖一区二区| 欧美激情一区二区在线| 成人高清免费观看| 亚洲色图欧洲色图| 精品视频1区2区3区| 午夜精品福利一区二区蜜股av | 毛片一区二区三区| 精品播放一区二区| 国产美女一区二区三区| 中文字幕欧美日本乱码一线二线| 99久久久久免费精品国产| 亚洲精品一二三| 91精品国产免费久久综合| 日韩精品成人一区二区在线| 日韩视频中午一区| 国产经典欧美精品| 一区二区三区在线高清| 在线电影院国产精品| 国产精品99久久久| 亚洲女子a中天字幕| 91精品国产aⅴ一区二区| 精品一区二区久久| 中文字幕一区二区三区在线不卡| 欧洲av一区二区嗯嗯嗯啊| 精品写真视频在线观看| 亚洲免费色视频| 日韩三级视频中文字幕| av综合在线播放| 日本女优在线视频一区二区| 中文字幕欧美激情| 日韩一区二区三区视频在线| 成人做爰69片免费看网站| 亚洲图片有声小说| 欧美国产在线观看| 欧美疯狂性受xxxxx喷水图片| 国产精品1024| 亚洲电影欧美电影有声小说| 久久久久久久久久久99999| 色www精品视频在线观看| 狠狠色丁香久久婷婷综合丁香| 综合中文字幕亚洲| 久久久久一区二区三区四区| 欧美精品一二三四| 91色在线porny| 国产一区二区三区综合| 丝袜亚洲另类欧美综合| 国产精品青草久久| 日韩美女视频一区二区在线观看| 99久久99久久精品免费看蜜桃| 精品亚洲porn| 日韩高清不卡一区二区三区| 一区二区三区日韩| 国产精品欧美一区二区三区| www久久精品| 日韩丝袜情趣美女图片| 精品视频999| 在线亚洲精品福利网址导航| 风间由美一区二区三区在线观看| 日本免费在线视频不卡一不卡二| 亚洲一区二区三区四区的| 国产精品福利一区| 欧美国产欧美亚州国产日韩mv天天看完整 | gogo大胆日本视频一区| 国产麻豆精品久久一二三| 美女尤物国产一区| 免费在线欧美视频| 美女网站一区二区| 免费成人av资源网| 日韩一区精品视频| 日日噜噜夜夜狠狠视频欧美人| 亚洲大片免费看| 天堂在线一区二区| 视频一区中文字幕国产| 亚洲丰满少妇videoshd| 午夜影院在线观看欧美| 亚洲亚洲精品在线观看| 日韩综合在线视频| 久久99久久99小草精品免视看| 精品亚洲成a人在线观看| 国产精品亚洲成人| 成人免费视频视频在线观看免费| 成年人国产精品| 欧洲人成人精品| 欧美一级日韩免费不卡| 精品日产卡一卡二卡麻豆| 久久久久久99精品| 中文字幕一区二区三| 亚洲国产一二三| 免费成人av在线播放| 国产伦精品一区二区三区视频青涩| 高清beeg欧美| 欧美伊人精品成人久久综合97| 717成人午夜免费福利电影| 精品国产一区二区三区av性色| 国产视频一区不卡| 亚洲色图在线播放| 免费在线观看精品| 粉嫩绯色av一区二区在线观看| 成人av网站大全| 欧美日韩国产不卡| 337p日本欧洲亚洲大胆精品| 国产精品国产三级国产| 午夜精品福利一区二区蜜股av | 极品少妇一区二区| 91麻豆精品在线观看| 91精品国模一区二区三区| 精品sm捆绑视频| 亚洲黄一区二区三区| 蜜乳av一区二区| 色综合天天天天做夜夜夜夜做| 欧美高清hd18日本| 国产精品成人一区二区三区夜夜夜 | 在线观看av一区| 国产亚洲综合av| 天堂蜜桃91精品| 成人一区二区三区视频在线观看 | 国产精品污污网站在线观看| 亚洲第一福利一区| av欧美精品.com| 日韩美女视频在线| 亚洲一区二区三区影院| 大胆欧美人体老妇| 日韩写真欧美这视频|