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

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

?? hdlc.h

?? ARM 嵌入式 系統 設計與實例開發 實驗教材 二源碼
?? H
字號:
/* * Generic HDLC support routines for Linux * * Copyright (C) 1999, 2000 Krzysztof Halasa <khc@pm.waw.pl> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */#ifndef __HDLC_H#define __HDLC_H/* Ioctls - to be changed */#define HDLCGSLOTMAP	(0x89F4) /* E1/T1 slot bitmap */#define HDLCGCLOCK	(0x89F5) /* clock sources */#define HDLCGCLOCKRATE	(0x89F6) /* clock rate */#define HDLCGMODE	(0x89F7) /* internal to hdlc.c - protocol used */#define HDLCGLINE	(0x89F8) /* physical interface */#define HDLCSSLOTMAP	(0x89F9)#define HDLCSCLOCK	(0x89FA)#define HDLCSCLOCKRATE	(0x89FB)#define HDLCSMODE	(0x89FC) /* internal to hdlc.c - select protocol */#define HDLCPVC		(0x89FD) /* internal to hdlc.c - create/delete PVC */#define HDLCSLINE	(0x89FE)#define HDLCRUN		(0x89FF) /* Download firmware and run board *//* Modes */#define MODE_NONE	0x00000000 /* Not initialized */#define MODE_DCE	0x00000080 /* DCE */#define MODE_HDLC	0x00000100 /* Raw HDLC frames */#define MODE_CISCO	0x00000200#define MODE_PPP	0x00000400#define MODE_FR		0x00000800 /* Any LMI */#define MODE_FR_ANSI	0x00000801#define MODE_FR_CCITT	0x00000802#define MODE_X25	0x00001000#define MODE_MASK	0x0000FF00#define MODE_SOFT	0x80000000 /* Driver modes, using hardware HDLC *//* Lines */#define LINE_DEFAULT	0x00000000#define LINE_V35	0x00000001#define LINE_RS232	0x00000002#define LINE_X21	0x00000003#define LINE_T1		0x00000004#define LINE_E1		0x00000005#define LINE_MASK	0x000000FF#define LINE_LOOPBACK	0x80000000 /* On-card loopback */#define CLOCK_EXT	0	/* External TX and RX clock - DTE */#define CLOCK_INT	1	/* Internal TX and RX clock - DCE */#define CLOCK_TXINT	2	/* Internal TX and external RX clock */#define CLOCK_TXFROMRX	3	/* TX clock derived from external RX clock */#define HDLC_MAX_MTU 1500	/* Ethernet 1500 bytes */#define HDLC_MAX_MRU (HDLC_MAX_MTU + 10) /* max 10 bytes for FR */#ifdef __KERNEL__#include <linux/skbuff.h>#include <linux/netdevice.h>#include <net/syncppp.h>#define MAXLEN_LMISTAT  20	/* max size of status enquiry frame */#define LINK_STATE_RELIABLE 0x01#define LINK_STATE_REQUEST  0x02 /* full stat sent (DCE) / req pending (DTE) */#define LINK_STATE_CHANGED  0x04 /* change in PVCs state, send full report */#define LINK_STATE_FULLREP_SENT 0x08 /* full report sent */#define PVC_STATE_NEW       0x01#define PVC_STATE_ACTIVE    0x02#define PVC_STATE_FECN	    0x08 /* FECN condition */#define PVC_STATE_BECN      0x10 /* BECN condition */#define FR_UI              0x03#define FR_PAD             0x00#define NLPID_IP           0xCC#define NLPID_IPV6         0x8E#define NLPID_SNAP         0x80#define NLPID_PAD          0x00#define NLPID_Q933         0x08#define LMI_DLCI                   0 /* LMI DLCI */#define LMI_PROTO               0x08#define LMI_CALLREF             0x00 /* Call Reference */#define LMI_ANSI_LOCKSHIFT      0x95 /* ANSI lockshift */#define LMI_REPTYPE                1 /* report type */#define LMI_CCITT_REPTYPE       0x51#define LMI_ALIVE                  3 /* keep alive */#define LMI_CCITT_ALIVE         0x53#define LMI_PVCSTAT                7 /* pvc status */#define LMI_CCITT_PVCSTAT       0x57#define LMI_FULLREP                0 /* full report  */#define LMI_INTEGRITY              1 /* link integrity report */#define LMI_SINGLE                 2 /* single pvc report */#define LMI_STATUS_ENQUIRY      0x75#define LMI_STATUS              0x7D /* reply */#define LMI_REPT_LEN               1 /* report type element length */#define LMI_INTEG_LEN              2 /* link integrity element length */#define LMI_LENGTH                13 /* standard LMI frame length */#define LMI_ANSI_LENGTH           14typedef struct {	unsigned ea1  : 1;	unsigned cr   : 1;	unsigned dlcih: 6;  	unsigned ea2  : 1;	unsigned de   : 1;	unsigned becn : 1;	unsigned fecn : 1;	unsigned dlcil: 4;}__attribute__ ((packed)) fr_hdr;typedef struct {		/* Used in Cisco and PPP mode */	u8 address;	u8 control;	u16 protocol;}__attribute__ ((packed)) hdlc_header;typedef struct {	u32 type;		/* code */	u32 par1;	u32 par2;	u16 rel;		/* reliability */	u32 time;}__attribute__ ((packed)) cisco_packet;#define	CISCO_PACKET_LEN	18#define	CISCO_BIG_PACKET_LEN	20typedef struct pvc_device_struct {	struct net_device netdev; /* PVC net device - must be first */	struct net_device_stats stats;	struct hdlc_device_struct *master;	struct pvc_device_struct *next;	u8 state;	u8 newstate;}pvc_device;typedef struct {	u32 last_errors;	/* last errors bit list */	int last_poll;		/* ! */	u8 T391;		/* ! link integrity verification polling timer */	u8 T392;		/* ! polling verification timer */	u8 N391;		/* full status polling counter */	u8 N392;		/* error threshold */	u8 N393;		/* monitored events count */	u8 N391cnt;	u8 state;		/* ! */	u32 txseq;		/* ! TX sequence number - Cisco uses 4 bytes */	u32 rxseq;		/* ! RX sequence number */}fr_lmi;			/* ! means used in Cisco HDLC as well */typedef struct hdlc_device_struct {	/* to be initialized by hardware driver: */	struct net_device netdev; /* master net device - must be first */	struct net_device_stats stats;	struct ppp_device pppdev;	struct ppp_device *syncppp_ptr;	/* set_mode may be NULL if HDLC-only board */	int (*set_mode)(struct hdlc_device_struct *hdlc, int mode);	int (*open)(struct hdlc_device_struct *hdlc);	void (*close)(struct hdlc_device_struct *hdlc);	int (*xmit)(struct hdlc_device_struct *hdlc, struct sk_buff *skb);	int (*ioctl)(struct hdlc_device_struct *hdlc, struct ifreq *ifr,		     int cmd);  	/* Only in "hardware" FR modes etc. - may be NULL */	int (*create_pvc)(pvc_device *pvc);	void (*destroy_pvc)(pvc_device *pvc);	int (*open_pvc)(pvc_device *pvc);	void (*close_pvc)(pvc_device *pvc);	/* for hdlc.c internal use only */	pvc_device *first_pvc;	u16 pvc_count;	int mode;	struct timer_list timer;	fr_lmi lmi;}hdlc_device;int register_hdlc_device(hdlc_device *hdlc);void unregister_hdlc_device(hdlc_device *hdlc);void hdlc_netif_rx(hdlc_device *hdlc, struct sk_buff *skb);static __inline__ struct net_device* hdlc_to_dev(hdlc_device *hdlc){	return &hdlc->netdev;}static __inline__ hdlc_device* dev_to_hdlc(struct net_device *dev){	return (hdlc_device*)dev;}static __inline__ struct net_device* pvc_to_dev(pvc_device *pvc){	return &pvc->netdev;}static __inline__ pvc_device* dev_to_pvc(struct net_device *dev){	return (pvc_device*)dev;}static __inline__ const char *hdlc_to_name(hdlc_device *hdlc){	return hdlc_to_dev(hdlc)->name;}static __inline__ const char *pvc_to_name(pvc_device *pvc){	return pvc_to_dev(pvc)->name;}static __inline__ u16 status_to_dlci(hdlc_device *hdlc, u8 *status, u8 *state){	*state &= ~(PVC_STATE_ACTIVE | PVC_STATE_NEW);	if (status[2] & 0x08)		*state |= PVC_STATE_NEW;	else if (status[2] & 0x02)		*state |= PVC_STATE_ACTIVE;	return ((status[0] & 0x3F)<<4) | ((status[1] & 0x78)>>3);}static __inline__ void dlci_to_status(hdlc_device *hdlc, u16 dlci, u8 *status,				      u8 state){	status[0] = (dlci>>4) & 0x3F;	status[1] = ((dlci<<3) & 0x78) | 0x80;	status[2] = 0x80;	if (state & PVC_STATE_NEW)		status[2] |= 0x08;	else if (state & PVC_STATE_ACTIVE)		status[2] |= 0x02;}static __inline__ u16 netdev_dlci(struct net_device *dev){	return ntohs(*(u16*)dev->dev_addr);}static __inline__ u16 q922_to_dlci(u8 *hdr){	return ((hdr[0] & 0xFC)<<2) | ((hdr[1] & 0xF0)>>4);}static __inline__ void dlci_to_q922(u8 *hdr, u16 dlci){	hdr[0] = (dlci>>2) & 0xFC;	hdr[1] = ((dlci<<4) & 0xF0) | 0x01;}static __inline__ int mode_is(hdlc_device *hdlc, int mask){	return (hdlc->mode & mask) == mask;}static __inline__ pvc_device* find_pvc(hdlc_device *hdlc, u16 dlci){	pvc_device *pvc=hdlc->first_pvc;		while (pvc) {		if (netdev_dlci(&pvc->netdev) == dlci)			return pvc;		pvc=pvc->next;	}	return NULL;}static __inline__ void debug_frame(const struct sk_buff *skb){	int i;	for (i=0; i<skb->len; i++) {		if (i == 100) {			printk("...\n");			return;		}		printk(" %02X", skb->data[i]);	}	printk("\n");}#endif /* __KERNEL */#endif /* __HDLC_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av电影在线观看一区| 欧美午夜片在线看| a亚洲天堂av| 欧美精品一卡二卡| 国产精品国产三级国产三级人妇| 午夜精品一区在线观看| 成人久久18免费网站麻豆 | 亚洲地区一二三色| 国产精一区二区三区| 欧美久久免费观看| 亚洲视频一区二区免费在线观看 | 国产一区二区91| 欧美无砖砖区免费| 亚洲同性gay激情无套| 国产成人夜色高潮福利影视| 日韩一区二区三区在线视频| 亚洲精品乱码久久久久久日本蜜臀| 国产精品一二三四区| 欧美v亚洲v综合ⅴ国产v| 一区二区三区电影在线播| 成人午夜电影久久影院| 亚洲精品一区二区三区精华液| 亚洲成人在线网站| 色婷婷国产精品久久包臀| 国产精品人人做人人爽人人添| 九色综合狠狠综合久久| 日韩女优av电影在线观看| 免费在线欧美视频| 欧美一二三区在线观看| 日韩精品视频网站| 日韩视频国产视频| 另类的小说在线视频另类成人小视频在线 | 国产91精品一区二区| 久久久亚洲国产美女国产盗摄| 久久99精品久久久| 日韩精品一区二区三区视频 | 日韩午夜av电影| 午夜欧美在线一二页| 欧美日产国产精品| 美女一区二区视频| 精品精品国产高清一毛片一天堂| 美女在线视频一区| 精品国产伦一区二区三区观看体验| 美国欧美日韩国产在线播放| av亚洲产国偷v产偷v自拍| 中文字幕人成不卡一区| 91美女精品福利| 亚洲一二三四区不卡| 欧美区视频在线观看| 久88久久88久久久| 亚洲国产精品t66y| 色综合久久综合网欧美综合网 | 久久亚区不卡日本| 国产69精品久久久久777| **性色生活片久久毛片| 欧美性大战久久久久久久| 午夜精品一区二区三区电影天堂| 日韩一区二区精品在线观看| 国产成人在线视频免费播放| 亚洲精品视频观看| 91.com在线观看| 国产精品一级在线| 亚洲影院在线观看| www久久久久| 一本一本久久a久久精品综合麻豆| 亚洲一区二区三区爽爽爽爽爽| 欧美一区三区四区| 成人性生交大片免费看在线播放| 夜夜嗨av一区二区三区四季av| 91麻豆精品国产无毒不卡在线观看 | 日韩精品乱码免费| 成人丝袜高跟foot| 国产日产欧美一区二区视频| 国产·精品毛片| 亚洲国产视频a| 久久久久久久电影| 欧美写真视频网站| 蜜臀av一级做a爰片久久| 亚洲欧美怡红院| 欧美va亚洲va| 欧美在线免费观看亚洲| 国产一区二区影院| 日韩经典一区二区| 亚洲色图丝袜美腿| 久久一二三国产| 欧美一卡在线观看| 在线观看日韩高清av| 国产精品一区二区久激情瑜伽| 肉色丝袜一区二区| 夜夜操天天操亚洲| 国产精品久99| 欧美激情在线一区二区三区| 制服丝袜亚洲色图| 在线观看欧美日本| 久草在线在线精品观看| 欧美一卡二卡三卡| 久久久www免费人成精品| 日韩av午夜在线观看| 日韩欧美综合在线| 在线免费不卡视频| av一区二区三区黑人| 国产精品一品二品| 国产精品一区二区三区99| 蜜桃视频第一区免费观看| 亚洲成人av福利| 亚洲成人一区二区| 亚洲综合久久久| 亚洲一区在线免费观看| 亚洲欧洲国产日本综合| 久久久不卡影院| 久久精品亚洲麻豆av一区二区| 日韩视频免费观看高清在线视频| 欧美日韩一区二区三区不卡| 欧美性videosxxxxx| 欧美三级中文字幕在线观看| 精品视频在线免费观看| 亚洲图片欧美色图| 国产精品色哟哟| 国产精品成人免费精品自在线观看| 欧美精品一区二区在线播放| 欧美刺激午夜性久久久久久久| 欧美一区二区三区四区视频| 91精品国产乱| 亚洲精品在线观看视频| 久久亚洲一区二区三区四区| 久久精品亚洲国产奇米99 | 国内外成人在线| 国产精品亚洲一区二区三区妖精 | 蜜桃视频在线观看一区二区| 美日韩黄色大片| 国产91在线|亚洲| 97精品国产露脸对白| 欧美午夜精品一区二区三区| 欧美欧美欧美欧美| 久久夜色精品国产欧美乱极品| 欧美国产乱子伦| 亚洲乱码国产乱码精品精小说 | 一区二区中文字幕在线| 精品一区二区三区免费毛片爱| 欧美一级午夜免费电影| 在线精品亚洲一区二区不卡| 欧美亚洲日本一区| 欧美一二三四在线| 中文无字幕一区二区三区 | 91 com成人网| 亚洲国产精品ⅴa在线观看| 亚洲一级二级三级在线免费观看| 亚洲aⅴ怡春院| 国产不卡视频一区| 日本精品裸体写真集在线观看| 欧美精品丝袜中出| 国产亚洲精品中文字幕| 亚洲成人av电影在线| 国产成人在线观看| 欧美日韩美少妇| 国产女人18毛片水真多成人如厕| 一区二区久久久久久| 久久99精品国产麻豆婷婷| 91久久线看在观草草青青| 精品国产一区a| 亚洲电影在线免费观看| 成人午夜av在线| 日韩一级欧美一级| 亚洲人吸女人奶水| 国产精品99久| 69精品人人人人| 综合欧美亚洲日本| 国产综合久久久久久鬼色| 欧美午夜在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美激情一区二区| 麻豆一区二区99久久久久| 色狠狠色噜噜噜综合网| 中文字幕乱码日本亚洲一区二区| 免费观看91视频大全| 91成人网在线| 中文字幕一区二区三区在线播放| 国产一区二区不卡| 精品国产一区久久| 免费精品视频在线| 8x8x8国产精品| 亚洲永久精品国产| 色狠狠一区二区| 亚洲免费伊人电影| 99re这里都是精品| 中文字幕一区免费在线观看| 国产大陆精品国产| 国产肉丝袜一区二区| 国产麻豆精品95视频| 欧美一区二区三区视频免费播放 | 国产欧美精品区一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 色先锋久久av资源部| 亚洲另类在线一区| 92国产精品观看| 中文字幕一区二区三区乱码在线 | 国产麻豆成人传媒免费观看| 亚洲精品在线免费观看视频| 蜜臀a∨国产成人精品| 日韩一区二区三区免费看|