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

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

?? atmdev.h

?? ARM 嵌入式 系統 設計與實例開發 實驗教材 二源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
enum {	ATM_VF_ADDR,		/* Address is in use. Set by anybody, cleared				   by device driver. */	ATM_VF_READY,		/* VC is ready to transfer data. Set by device				   driver, cleared by anybody. */	ATM_VF_PARTIAL,		/* resources are bound to PVC (partial PVC				   setup), controlled by socket layer */	ATM_VF_REGIS,		/* registered with demon, controlled by SVC				   socket layer */	ATM_VF_BOUND,		/* local SAP is set, controlled by SVC socket				   layer */	ATM_VF_RELEASED,	/* demon has indicated/requested release,				   controlled by SVC socket layer */	ATM_VF_HASQOS,		/* QOS parameters have been set */	ATM_VF_LISTEN,		/* socket is used for listening */	ATM_VF_META,		/* SVC socket isn't used for normal data				   traffic and doesn't depend on signaling				   to be available */	ATM_VF_SESSION,		/* VCC is p2mp session control descriptor */	ATM_VF_HASSAP,		/* SAP has been set */	ATM_VF_CLOSE,		/* asynchronous close - treat like VF_RELEASED*/};#define ATM_VF2VS(flags) \    (test_bit(ATM_VF_READY,&(flags)) ? ATM_VS_CONNECTED : \     test_bit(ATM_VF_RELEASED,&(flags)) ? ATM_VS_CLOSING : \     test_bit(ATM_VF_LISTEN,&(flags)) ? ATM_VS_LISTEN : \     test_bit(ATM_VF_REGIS,&(flags)) ? ATM_VS_INUSE : \     test_bit(ATM_VF_BOUND,&(flags)) ? ATM_VS_BOUND : ATM_VS_IDLE)enum {	ATM_DF_CLOSE,		/* close device when last VCC is closed */};#define ATM_PHY_SIG_LOST    0	/* no carrier/light */#define ATM_PHY_SIG_UNKNOWN 1	/* carrier/light status is unknown */#define ATM_PHY_SIG_FOUND   2	/* carrier/light okay */#define ATM_ATMOPT_CLP	1	/* set CLP bit */typedef struct { unsigned long bits; } atm_vcc_flags_t;struct atm_vcc {	atm_vcc_flags_t flags;		/* VCC flags (ATM_VF_*) */	unsigned char	family;		/* address family; 0 if unused */	short		vpi;		/* VPI and VCI (types must be equal */					/* with sockaddr) */	int 		vci;	unsigned long	aal_options;	/* AAL layer options */	unsigned long	atm_options;	/* ATM layer options */	struct atm_dev	*dev;		/* device back pointer */	struct atm_qos	qos;		/* QOS */	struct atm_sap	sap;		/* SAP */	atomic_t	tx_inuse,rx_inuse; /* buffer space in use */	void (*push)(struct atm_vcc *vcc,struct sk_buff *skb);	void (*pop)(struct atm_vcc *vcc,struct sk_buff *skb); /* optional */	struct sk_buff *(*alloc_tx)(struct atm_vcc *vcc,unsigned int size);					/* TX allocation routine - can be */					/* modified by protocol or by driver.*/					/* NOTE: this interface will change */	int (*push_oam)(struct atm_vcc *vcc,void *cell);	int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);	void		*dev_data;	/* per-device data */	void		*proto_data;	/* per-protocol data */	struct timeval	timestamp;	/* AAL timestamps */	struct sk_buff_head recvq;	/* receive queue */	struct k_atm_aal_stats *stats;	/* pointer to AAL stats group */	wait_queue_head_t sleep;	/* if socket is busy */	struct sock	*sk;		/* socket backpointer */	struct atm_vcc	*prev,*next;	/* SVC part --- may move later ------------------------------------- */	short		itf;		/* interface number */	struct sockaddr_atmsvc local;	struct sockaddr_atmsvc remote;	void (*callback)(struct atm_vcc *vcc);	struct sk_buff_head listenq;	int		backlog_quota;	/* number of connection requests we */					/* can still accept */	int		reply;		/* also used by ATMTCP */	/* Multipoint part ------------------------------------------------- */	struct atm_vcc	*session;	/* session VCC descriptor */	/* Other stuff ----------------------------------------------------- */	void		*user_back;	/* user backlink - not touched by */					/* native ATM stack. Currently used */					/* by CLIP and sch_atm. */};struct atm_dev_addr {	struct sockaddr_atmsvc addr;	/* ATM address */	struct atm_dev_addr *next;	/* next address */};typedef struct { unsigned int bits; } atm_dev_flags_t;struct atm_dev {	const struct atmdev_ops *ops;	/* device operations; NULL if unused */	const struct atmphy_ops *phy;	/* PHY operations, may be undefined */					/* (NULL) */	const char	*type;		/* device type name */	int		number;		/* device index */	struct atm_vcc	*vccs;		/* VCC table (or NULL) */	struct atm_vcc	*last;		/* last VCC (or undefined) */	void		*dev_data;	/* per-device data */	void		*phy_data;	/* private PHY date */	atm_dev_flags_t flags;		/* device flags (ATM_DF_*) */	struct atm_dev_addr *local;	/* local ATM addresses */	unsigned char	esi[ESI_LEN];	/* ESI ("MAC" addr) */	struct atm_cirange ci_range;	/* VPI/VCI range */	struct k_atm_dev_stats stats;	/* statistics */	char		signal;		/* signal status (ATM_PHY_SIG_*) */	int		link_rate;	/* link rate (default: OC3) */#ifdef CONFIG_PROC_FS	struct proc_dir_entry *proc_entry; /* proc entry */	char *proc_name;		/* proc entry name */#endif	struct atm_dev	*prev,*next;	/* linkage */};/* * ioctl, getsockopt, setsockopt, and sg_send are optional and can be set to * NULL. *//* OF: send_Oam Flags */#define ATM_OF_IMMED	1	/* Attempt immediate delivery */#define ATM_OF_INRATE	2	/* Attempt in-rate delivery */struct atmdev_ops { /* only send is required */	void (*dev_close)(struct atm_dev *dev);	int (*open)(struct atm_vcc *vcc,short vpi,int vci);	void (*close)(struct atm_vcc *vcc);	int (*ioctl)(struct atm_dev *dev,unsigned int cmd,void *arg);	int (*getsockopt)(struct atm_vcc *vcc,int level,int optname,	    void *optval,int optlen);	int (*setsockopt)(struct atm_vcc *vcc,int level,int optname,	    void *optval,int optlen);	int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);	int (*sg_send)(struct atm_vcc *vcc,unsigned long start,	    unsigned long size);#if 0 /* keep the current hack for now */	int (*send_iovec)(struct atm_vcc *vcc,struct iovec *iov,int size,	    void (*discard)(struct atm_vcc *vcc,void *user),void *user);#endif	int (*send_oam)(struct atm_vcc *vcc,void *cell,int flags);	void (*phy_put)(struct atm_dev *dev,unsigned char value,	    unsigned long addr);	unsigned char (*phy_get)(struct atm_dev *dev,unsigned long addr);	void (*feedback)(struct atm_vcc *vcc,struct sk_buff *skb,	    unsigned long start,unsigned long dest,int len);	int (*change_qos)(struct atm_vcc *vcc,struct atm_qos *qos,int flags);	void (*free_rx_skb)(struct atm_vcc *vcc, struct sk_buff *skb);		/* @@@ temporary hack */	int (*proc_read)(struct atm_dev *dev,loff_t *pos,char *page);	struct module *owner;};struct atmphy_ops {	int (*start)(struct atm_dev *dev);	int (*ioctl)(struct atm_dev *dev,unsigned int cmd,void *arg);	void (*interrupt)(struct atm_dev *dev);	int (*stop)(struct atm_dev *dev);};struct atm_skb_data {	struct atm_vcc	*vcc;		/* ATM VCC */	int		iovcnt;		/* 0 for "normal" operation */	unsigned long	atm_options;	/* ATM layer options */};#define ATM_SKB(skb) (((struct atm_skb_data *) (skb)->cb))struct atm_dev *atm_dev_register(const char *type,const struct atmdev_ops *ops,    int number,atm_dev_flags_t *flags); /* number == -1: pick first available */struct atm_dev *atm_find_dev(int number);void atm_dev_deregister(struct atm_dev *dev);void shutdown_atm_dev(struct atm_dev *dev);void bind_vcc(struct atm_vcc *vcc,struct atm_dev *dev);/* * This is approximately the algorithm used by alloc_skb. * */static __inline__ int atm_guess_pdu2truesize(int pdu_size){	return ((pdu_size+15) & ~15) + sizeof(struct sk_buff);}static __inline__ void atm_force_charge(struct atm_vcc *vcc,int truesize){	atomic_add(truesize+ATM_PDU_OVHD,&vcc->rx_inuse);}static __inline__ void atm_return(struct atm_vcc *vcc,int truesize){	atomic_sub(truesize+ATM_PDU_OVHD,&vcc->rx_inuse);}static __inline__ int atm_may_send(struct atm_vcc *vcc,unsigned int size){	return size+atomic_read(&vcc->tx_inuse)+ATM_PDU_OVHD < vcc->sk->sndbuf;}int atm_charge(struct atm_vcc *vcc,int truesize);struct sk_buff *atm_alloc_charge(struct atm_vcc *vcc,int pdu_size,    int gfp_flags);int atm_find_ci(struct atm_vcc *vcc,short *vpi,int *vci);int atm_pcr_goal(struct atm_trafprm *tp);void atm_async_release_vcc(struct atm_vcc *vcc,int reply);#endif /* __KERNEL__ */#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩三级在线| 中文字幕亚洲不卡| 亚洲欧洲精品天堂一级| 婷婷国产在线综合| 国产成人在线视频免费播放| 欧美日韩一区成人| 亚洲国产美女搞黄色| 成人午夜电影小说| ww久久中文字幕| 麻豆久久一区二区| 欧美高清视频www夜色资源网| 中文字幕在线一区免费| 国产乱码字幕精品高清av| 日韩三级电影网址| 日日夜夜精品视频天天综合网| 99国产精品国产精品毛片| 亚洲国产激情av| 国产 日韩 欧美大片| 2021久久国产精品不只是精品| 婷婷亚洲久悠悠色悠在线播放| 在线视频观看一区| 一区二区三区中文字幕电影| 成人午夜免费视频| 国产精品三级久久久久三级| 国产黑丝在线一区二区三区| 久久嫩草精品久久久精品一| 激情另类小说区图片区视频区| 91精品国产综合久久蜜臀| 五月激情综合网| 欧美精品 日韩| 婷婷夜色潮精品综合在线| 91精品国产入口在线| 日韩精品欧美精品| 精品日韩成人av| 欧美福利视频一区| 石原莉奈在线亚洲二区| 在线观看91av| 卡一卡二国产精品| 精品粉嫩aⅴ一区二区三区四区| 韩国中文字幕2020精品| 国产亚洲欧美激情| 91在线观看高清| 亚洲午夜三级在线| 日韩区在线观看| 国产黑丝在线一区二区三区| 国产精品国产三级国产| 欧美三级在线看| 青青草国产精品亚洲专区无| www国产精品av| 9久草视频在线视频精品| 亚洲精品高清在线观看| 在线不卡免费av| 国产精品18久久久久久vr| 国产精品理论片在线观看| 欧美综合欧美视频| 黄页网站大全一区二区| 国产精品欧美经典| 欧美高清视频在线高清观看mv色露露十八| 久久成人羞羞网站| 国产精品久久久久婷婷| 欧美精品一二三四| 国产精品主播直播| 亚洲综合无码一区二区| 国产网红主播福利一区二区| 91老师国产黑色丝袜在线| 免费在线观看一区| 综合久久一区二区三区| 日韩一卡二卡三卡四卡| 91丨九色丨蝌蚪丨老版| 精品一区二区三区av| 久久国产麻豆精品| 综合在线观看色| 欧美电影免费提供在线观看| 99国产精品久久久久久久久久| 视频一区国产视频| 亚洲精品乱码久久久久久日本蜜臀| 在线不卡一区二区| 91久久香蕉国产日韩欧美9色| 蓝色福利精品导航| 午夜伦理一区二区| 日韩一区在线播放| 久久久久久麻豆| 91精品国产色综合久久| 在线观看一区二区视频| 丁香桃色午夜亚洲一区二区三区| 视频一区视频二区中文字幕| 亚洲精品一二三区| 国产无人区一区二区三区| 日韩欧美一二三| 欧美日韩精品一区二区| 一本大道久久精品懂色aⅴ| 国产一区二区三区美女| 免费看欧美女人艹b| 亚洲国产wwwccc36天堂| 亚洲精品高清在线观看| 亚洲色图20p| 国产精品日产欧美久久久久| 久久综合九色综合97婷婷| 欧美另类变人与禽xxxxx| 日本黄色一区二区| 色综合久久综合| 91久久一区二区| 在线亚洲高清视频| 在线一区二区三区四区五区 | 国产精品丝袜在线| 久久综合久久久久88| 日韩三级视频在线看| 欧美一区二区三区视频免费| 69堂精品视频| 91精品久久久久久久久99蜜臂| 欧美三级日韩三级国产三级| 欧美午夜片在线看| 欧美人牲a欧美精品| 91精品黄色片免费大全| 欧美精品久久天天躁| 91精品国产综合久久国产大片| 91精品国产aⅴ一区二区| 日韩一级在线观看| 精品国一区二区三区| 国产日韩v精品一区二区| 欧美国产禁国产网站cc| 国产精品免费丝袜| 一区二区久久久| 调教+趴+乳夹+国产+精品| 美女一区二区久久| 国产成人亚洲精品狼色在线| 99免费精品视频| 欧美日韩另类一区| 日韩精品一区二区三区在线观看| 久久婷婷综合激情| 国产精品国产三级国产aⅴ原创 | 在线观看网站黄不卡| 欧美日本在线一区| 精品精品国产高清a毛片牛牛 | 看片网站欧美日韩| 粉嫩蜜臀av国产精品网站| 99这里都是精品| 欧美色精品在线视频| 欧美tk丨vk视频| 日本一区二区三区dvd视频在线| 国产精品久久夜| 亚洲h在线观看| 精品一区二区三区免费观看| 97精品久久久午夜一区二区三区| 欧美老肥妇做.爰bbww视频| 精品国产乱码久久久久久浪潮| 最新国产成人在线观看| 日韩电影一区二区三区四区| 国产91在线观看丝袜| 欧美午夜片在线看| 欧美激情资源网| 青青草国产成人av片免费 | 国产一区二区三区av电影 | aaa欧美大片| 欧美一个色资源| 亚洲天堂av老司机| 久久99国产精品久久99果冻传媒| jizz一区二区| 日韩欧美一卡二卡| 国产精品国产自产拍在线| 日韩精品每日更新| 91丝袜国产在线播放| 精品国产免费人成在线观看| 亚洲女同ⅹxx女同tv| 国产精品一区二区你懂的| 在线不卡的av| 亚洲激情自拍偷拍| 国产成人精品综合在线观看| 337p亚洲精品色噜噜噜| 亚洲综合自拍偷拍| 粗大黑人巨茎大战欧美成人| 精品少妇一区二区三区在线播放| 亚洲欧美一区二区久久 | 欧美乱妇15p| 亚洲三级电影网站| 成人av在线资源网站| 欧美大片在线观看一区二区| 亚洲一本大道在线| 成人爱爱电影网址| 国产偷国产偷精品高清尤物| 美女一区二区视频| 91精品国产欧美一区二区| 亚洲电影在线播放| 色婷婷av一区二区三区之一色屋| 国产欧美日韩不卡| 国产精品综合久久| 久久久久久久久久久久电影| 美腿丝袜亚洲三区| 欧美一区二区三区啪啪| 亚洲成人综合网站| 欧美日韩aaaaa| 婷婷国产在线综合| 91麻豆精品国产自产在线观看一区 | 欧美精选午夜久久久乱码6080| 亚洲日本va在线观看| 91在线丨porny丨国产| 亚洲乱码中文字幕综合| 91免费国产在线观看| 亚洲精品视频自拍| 欧美在线你懂的|