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

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

?? mtp_tpi.c

?? OpenSS7 This the fourth public release of the OpenSS7 Master Package. See README in the release for
?? C
?? 第 1 頁 / 共 5 頁
字號:
		case TS_WACK_DREQ7:			/* FIXME: need to handle sequence numbers */		case TS_WACK_DREQ9:		case TS_WACK_DREQ10:		case TS_WACK_DREQ11:			mtp_disconnect(mtp);			mtp_set_state(mtp, TS_IDLE);			break;		default:			/* Note: if we are not in a WACK state we simply do not change state.  This 			   occurs normally when we are responding to a T_OPTMGMT_REQ in other than			   the TS_IDLE state. */			break;		}		mi_strlog(q, STRLOGRX, SL_TRACE, "<- T_OK_ACK");		putnext(mtp->rq, mp);		return (0);	}	return (-ENOBUFS);}/** * t_unitdata_ind: - issue a T_UNITDATA_IND primitive * @mtp: MTP private data * @q: active queue * @bp: message block to free upon success * @src: source address (or NULL) * @opt: options (or NULL) * @dp: user data */static inline fastcall __unlikely intt_unitdata_ind(struct mtp *mtp, queue_t *q, mblk_t *bp,	       struct mtp_addr *src, struct mtp_opts *opt, mblk_t *dp){	struct T_unitdata_ind *p;	mblk_t *mp;	size_t src_len = t_addr_size(src);	size_t opt_len = t_opts_size(opt);	size_t msg_len = sizeof(*p) + src_len + opt_len;	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		if (likely(bcanputnext(mtp->rq, dp->b_band))) {			DB_TYPE(mp) = M_PROTO;			p = (typeof(p)) mp->b_wptr;			p->PRIM_type = T_UNITDATA_IND;			p->SRC_length = src_len;			p->SRC_offset = sizeof(*p);			p->OPT_length = opt_len;			p->OPT_offset = sizeof(*p) + src_len;			mp->b_wptr += sizeof(*p);			t_build_addr(src, mp->b_wptr);			mp->b_wptr += src_len;			t_build_opts(opt, mp->b_wptr);			mp->b_wptr += opt_len;			mp->b_cont = dp;			if (bp)				freeb(bp);			mi_strlog(q, STRLOGDA, SL_TRACE, "<- T_UNITDATA_IND");			putnext(mtp->rq, mp);			return (0);		}		freeb(mp);		return (-EBUSY);	}	return (-ENOBUFS);}/** * t_uderror_ind: - issue a T_UDERROR_IND primitive * @mtp: MTP private data * @q: active queue * @bp: message block to free upon success * @dst: destination address (or NULL) * @opt: options (or NULL) * @dp: user data * @etype: error type */static inline fastcall __unlikely intt_uderror_ind(struct mtp *mtp, queue_t *q, mblk_t *bp,	      struct mtp_addr *dst, struct mtp_opts *opt, mblk_t *dp, t_scalar_t etype){	struct T_uderror_ind *p;	mblk_t *mp;	size_t dst_len = t_addr_size(dst);	size_t opt_len = t_opts_size(opt);	size_t msg_len = sizeof(*p) + dst_len + opt_len;	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		if (likely(bcanputnext(mtp->rq, 2))) {			DB_TYPE(mp) = M_PROTO;			mp->b_band = 2;	/* XXX move ahead of data indications */			p = (typeof(p)) mp->b_wptr;			p->PRIM_type = T_UDERROR_IND;			p->DEST_length = dst_len;			p->DEST_offset = sizeof(*p);			p->OPT_length = opt_len;			p->OPT_offset = sizeof(*p) + dst_len;			p->ERROR_type = etype;			mp->b_wptr += sizeof(*p);			t_build_addr(dst, mp->b_wptr);			mp->b_wptr += dst_len;			t_build_opts(opt, mp->b_wptr);			mp->b_wptr += opt_len;			mp->b_cont = dp;			if (bp)				freeb(bp);			mi_strlog(q, STRLOGRX, SL_TRACE, "<- T_UDERROR_IND");			putnext(mtp->rq, mp);			return (0);		}		freeb(mp);		return (-EBUSY);	}	return (-ENOBUFS);}/** * t_optmgmt_ack: - issue a T_OPTMGMT_ACK primitive * @mtp: MTP private data * @q: active queue * @msg: message to free upon success * @flags: management flags * @opt: options */static inline fastcall __unlikely intt_optmgmt_ack(struct mtp *mtp, queue_t *q, mblk_t *msg, t_scalar_t flags, struct mtp_opts *opt){	struct T_optmgmt_ack *p;	mblk_t *mp;	size_t opt_len = t_opts_size(opt);	size_t msg_len = sizeof(*p) + opt_len;	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		DB_TYPE(mp) = M_PCPROTO;		p = (typeof(p)) mp->b_wptr;		p->PRIM_type = T_OPTMGMT_ACK;		p->OPT_length = opt_len;		p->OPT_offset = sizeof(*p);		p->MGMT_flags = flags;		mp->b_wptr += sizeof(*p);		t_build_opts(opt, mp->b_wptr);		mp->b_wptr += opt_len;#ifdef TS_WACK_OPTREQ		if (mtp_get_state(mtp) == TS_WACK_OPTREQ)			mtp_set_state(mtp, TS_IDLE);#endif		freemsg(msg);		mi_strlog(q, STRLOGRX, SL_TRACE, "<- T_OPTMGMT_ACK");		putnext(mtp->rq, mp);		return (0);	}	return (-ENOBUFS);}/** * t_ordrel_ind: - issue a T_ORDREL_IND primitive * @mtp: MTP private data * @q: active queue * @msg: message to free upon success */static inline fastcall __unlikely intt_ordrel_ind(struct mtp *mtp, queue_t *q, mblk_t *msg){	mi_strlog(q, 0, SL_ERROR, "unsupported primitive");	freemsg(msg);	return (0);}/** * t_optdata_ind: - issue a T_OPTDATA_IND primitive upstream * @mtp: MTP private structure * @q: active queue * @bp: message block to free upon success * @flags: data flags * @opt: options (or NULL) * @dp: user data */static inline fastcall __unlikely intt_optdata_ind(struct mtp *mtp, queue_t *q, mblk_t *bp,	      t_scalar_t flags, struct mtp_opts *opt, mblk_t *dp){	struct T_optdata_ind *p;	mblk_t *mp;	size_t opt_len = t_opts_size(opt);	size_t msg_len = sizeof(*p) + opt_len;	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		if (likely(bcanputnext(mtp->rq, dp->b_band))) {			DB_TYPE(mp) = M_PROTO;			p = (typeof(p)) mp->b_wptr;			p->PRIM_type = T_OPTDATA_IND;			p->DATA_flag = flags;			p->OPT_length = opt_len;			p->OPT_offset = sizeof(*p);			mp->b_wptr += sizeof(*p);			t_build_opts(opt, mp->b_wptr);			mp->b_wptr += opt_len;			mp->b_cont = dp;			if (bp)				freeb(bp);			mi_strlog(q, STRLOGDA, SL_TRACE, "<- T_OPTDATA_IND");			putnext(mtp->rq, mp);			return (0);		}		freeb(mp);		return (-EBUSY);	}	return (-ENOBUFS);}#ifdef T_ADDR_ACK/** * t_addr_ack: - issue a T_ADDR_ACK primtive upstream * @mtp: MTP private structure * @q: active queue * @msg: message to free upon success * @loc: local address (or NULL) * @rem: remote address (or NULL) */static inline fastcall __unlikely intt_addr_ack(struct mtp *mtp, queue_t *q, mblk_t *msg, struct mtp_addr *loc, struct mtp_addr *rem){	struct T_addr_ack *p;	mblk_t *mp;	size_t loc_len = t_addr_size(loc);	size_t rem_len = t_addr_size(rem);	size_t msg_len = sizeof(*p) + loc_len + rem_len;	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		DB_TYPE(mp) = M_PCPROTO;		p = (typeof(p)) mp->b_wptr;		p->PRIM_type = T_ADDR_ACK;		p->LOCADDR_length = loc_len;		p->LOCADDR_offset = sizeof(*p);		p->REMADDR_length = rem_len;		p->REMADDR_offset = sizeof(*p) + loc_len;		mp->b_wptr += sizeof(*p);		t_build_addr(loc, mp->b_wptr);		mp->b_wptr += loc_len;		t_build_addr(rem, mp->b_wptr);		mp->b_wptr += rem_len;		freemsg(msg);		mi_strlog(q, STRLOGRX, SL_TRACE, "<- T_ADDR_ACK");		putnext(mtp->rq, mp);		return (0);	}	return (-ENOBUFS);}#endif#ifdef T_CAPABILITY_ACK/** * t_capability_ack: - issue a T_CAPABILITY_ACK upstream * @mtp: MTP private structure * @q: active queue * @msg: message to free upon success * @caps: capability bits */static inline fastcall __unlikely intt_capability_ack(struct mtp *mtp, queue_t *q, mblk_t *msg, t_scalar_t caps){	struct T_capability_ack *p;	mblk_t *mp;	size_t msg_len = sizeof(*p);	if (unlikely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		DB_TYPE(mp) = M_PCPROTO;		p = (typeof(p)) mp->b_wptr;		p->PRIM_type = T_CAPABILITY_ACK;		p->CAP_bits1 = TC1_INFO;		p->ACCEPTOR_id = (caps & TC1_ACCEPTOR_ID) ? (t_scalar_t) (ulong) mtp->rq : 0;		mp->b_wptr += sizeof(*p);		if (caps & TC1_INFO)			p->INFO_ack = mtp->prot;		else			bzero(&p->INFO_ack, sizeof(p->INFO_ack));		freemsg(msg);		mi_strlog(q, STRLOGRX, SL_TRACE, "<- T_CAPABILITY_ACK");		putnext(mtp->rq, mp);		return (0);	}	return (-ENOBUFS);}#endif/** * t_reset_ind: issue a T_RESET_IND upstream * @mtp: MTP private structure * @q: active queue * @msg: message to free upon success * @reason: reason for reset */static inline fastcall __unlikely intt_reset_ind(struct mtp *mtp, queue_t *q, mblk_t *msg, t_scalar_t reason){	mi_strlog(q, 0, SL_ERROR, "fix congestion resets");	freemsg(msg);	return (0);}/* *  ------------------------------------------------------------------------- * *  Primitives sent downstream. * *  ------------------------------------------------------------------------- *//** * mtp_bind_req: - issue a MTP_BIND_REQ primitive * @mtp: MTP private data * @q: active queue * @msg: message to free upon success * @add: address to which to bind (or NULL) * @flags: bind flags */static inline fastcall __unlikely intmtp_bind_req(struct mtp *mtp, queue_t *q, mblk_t *msg, struct mtp_addr *add, mtp_ulong flags){	struct MTP_bind_req *p;	mblk_t *mp;	size_t add_len = add ? sizeof(*add) : 0;	size_t msg_len = sizeof(*p) + add_len;	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		DB_TYPE(mp) = M_PCPROTO;		p = (typeof(p)) mp->b_wptr;		p->mtp_primitive = MTP_BIND_REQ;		p->mtp_addr_length = add_len;		p->mtp_addr_offset = sizeof(*p);		p->mtp_bind_flags = flags;		mp->b_wptr += sizeof(*p);		bcopy(add, mp->b_wptr, add_len);		mp->b_wptr += add_len;		freemsg(msg);		mi_strlog(q, STRLOGTX, SL_TRACE, "MTP_BIND_REQ ->");		putnext(mtp->wq, mp);		return (0);	}	return (-ENOBUFS);}/** * mtp_unbind_req: - issue a MTP_UNBIND_REQ primitive * @mtp: MTP private data * @q: active queue * @msg: message to free upon success */static inline fastcall __unlikely intmtp_unbind_req(struct mtp *mtp, queue_t *q, mblk_t *msg){	struct MTP_unbind_req *p;	mblk_t *mp;	size_t msg_len = sizeof(*p);	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		DB_TYPE(mp) = M_PCPROTO;		p = (typeof(p)) mp->b_wptr;		p->mtp_primitive = MTP_UNBIND_REQ;		mp->b_wptr += sizeof(*p);		freemsg(msg);		mi_strlog(q, STRLOGTX, SL_TRACE, "MTP_UNBIND_REQ ->");		putnext(mtp->wq, mp);		return (0);	}	return (-ENOBUFS);}/** * mtp_conn_req: - issue a MTP_CONN_REQ primitive * @mtp: MTP private data * @q: active queue * @bp: message block to free upon success * @add: address to which to connect (or NULL) * @flags: connect flags * @dp: user data */static inline fastcall __unlikely intmtp_conn_req(struct mtp *mtp, queue_t *q, mblk_t *bp,	     struct mtp_addr *add, mtp_ulong flags, mblk_t *dp){	struct MTP_conn_req *p;	mblk_t *mp;	size_t add_len = add ? sizeof(*add) : 0;	size_t msg_len = sizeof(*p) + add_len;	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		if (likely(canputnext(mtp->wq))) {			DB_TYPE(mp) = M_PROTO;			p = (typeof(p)) mp->b_wptr;			p->mtp_primitive = MTP_CONN_REQ;			p->mtp_addr_length = add_len;			p->mtp_addr_offset = add_len ? sizeof(*p) : 0;			p->mtp_conn_flags = flags;			mp->b_wptr += sizeof(*p);			bcopy(add, mp->b_wptr, add_len);			mp->b_wptr += add_len;			mp->b_cont = dp;			if (bp)				freeb(bp);			mi_strlog(q, STRLOGTX, SL_TRACE, "MTP_CONN_REQ ->");			putnext(mtp->wq, mp);			return (0);		}		freeb(mp);		return (-EBUSY);	}	return (-ENOBUFS);}/** * mtp_discon_req: - issue an MTP_DISCON_REQ primitive * @mtp: MTP private data * @q: active queue * @bp: message block to free upon success * @dp: user data */static inline fastcall __unlikely intmtp_discon_req(struct mtp *mtp, queue_t *q, mblk_t *bp, mblk_t *dp){	struct MTP_discon_req *p;	mblk_t *mp;	size_t msg_len = sizeof(*p);	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		if (likely(canputnext(mtp->wq))) {			DB_TYPE(mp) = M_PROTO;			p = (typeof(p)) mp->b_wptr;			p->mtp_primitive = MTP_DISCON_REQ;			mp->b_wptr += sizeof(*p);			mp->b_cont = dp;			if (bp)				freeb(bp);			mi_strlog(q, STRLOGTX, SL_TRACE, "MTP_DISCON_REQ ->");			putnext(mtp->wq, mp);			return (0);		}		freeb(mp);		return (-EBUSY);	}	return (-ENOBUFS);}/** * mtp_addr_request: - issue an MTP_ADDR_REQ primitive * @mtp: MTP private data * @q: active queue * @msg: message to free upon success */static inline fastcall __unlikely intmtp_addr_req(struct mtp *mtp, queue_t *q, mblk_t *msg){	struct MTP_addr_req *p;	mblk_t *mp;	size_t msg_len = sizeof(*p);	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		DB_TYPE(mp) = M_PCPROTO;		p = (typeof(p)) mp->b_wptr;		p->mtp_primitive = MTP_ADDR_REQ;		mp->b_wptr += sizeof(*p);		freemsg(msg);		mi_strlog(q, STRLOGTX, SL_TRACE, "MTP_ADDR_REQ ->");		putnext(mtp->wq, mp);		return (0);	}	return (-ENOBUFS);}/** * mtp_info_req: - issue an MTP_INFO_REQ primitive * @mtp: MTP private data * @q: active queue * @msg: message to free upon success */static inline fastcall __unlikely intmtp_info_req(struct mtp *mtp, queue_t *q, mblk_t *msg){	struct MTP_info_req *p;	mblk_t *mp;	size_t msg_len = sizeof(*p);	if (likely((mp = mi_allocb(q, msg_len, BPRI_MED)) != NULL)) {		DB_TYPE(mp) = M_PCPROTO;		p = (typeof(p)) mp->b_wptr;		p->mtp_primitive = MTP_INFO_REQ;		mp->b_wptr += sizeof(*p);		freemsg(msg);		mi_strlog(q, STRLOGTX, SL_TRACE, "MTP_INFO_REQ ->");		putnext(mtp->wq, mp);		return (0);	}	return (-ENOBUFS);}/** * mtp_optmgmt_req: - issue an MTP_OPTMGMT_REQ primitive * @mtp: MTP private data * @q: active queue * @msg: message to free upon success * @opt: options (or NULL) * @flags: management flags */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产**成人网毛片九色 | 精品国产凹凸成av人网站| 亚洲成人激情自拍| 欧美性三三影院| 日韩影院精彩在线| 久久综合九色综合97婷婷| 成人午夜av电影| 亚洲欧洲中文日韩久久av乱码| 色婷婷综合激情| 日韩福利电影在线| 国产亚洲成av人在线观看导航| 成人动漫一区二区| 亚洲一区影音先锋| 精品黑人一区二区三区久久 | 亚洲小说春色综合另类电影| 7777精品伊人久久久大香线蕉经典版下载 | 国产亚洲综合av| 97se亚洲国产综合在线| 婷婷六月综合网| 久久影音资源网| 99r精品视频| 亚洲国产人成综合网站| 精品福利视频一区二区三区| 丁香六月综合激情| 亚洲国产欧美另类丝袜| 欧美精品一区二| 色噜噜狠狠色综合欧洲selulu| 日韩电影在线观看电影| 亚洲国产精品高清| 欧美日韩国产一级二级| 国产中文一区二区三区| 亚洲精品久久久久久国产精华液| 91精品国产综合久久福利 | 成人黄页毛片网站| 日日摸夜夜添夜夜添亚洲女人| 国产亚洲精品7777| 69av一区二区三区| av资源网一区| 久热成人在线视频| 亚洲精品成人a在线观看| 26uuuu精品一区二区| 欧美亚洲免费在线一区| 国产传媒久久文化传媒| 天堂久久一区二区三区| 最新久久zyz资源站| 精品乱人伦小说| 在线精品观看国产| 精品日韩欧美在线| 在线看国产一区二区| 国产高清成人在线| 免费在线观看日韩欧美| 亚洲精品国久久99热| 久久久99精品久久| 日韩亚洲欧美中文三级| 在线免费观看日本欧美| 成人三级伦理片| 精品一区二区三区蜜桃| 天天综合天天做天天综合| 中文字幕一区二区三区不卡在线| 精品国产一区二区三区不卡 | 在线播放一区二区三区| 一本久道中文字幕精品亚洲嫩 | 成人av在线资源网| 国产一区二区三区蝌蚪| 日韩国产成人精品| 亚洲国产欧美一区二区三区丁香婷| 国产精品国产三级国产普通话三级| 精品国产sm最大网站免费看| 日韩亚洲欧美一区| 日韩欧美在线1卡| 欧美一区日本一区韩国一区| 精品污污网站免费看| 在线观看国产精品网站| 色综合中文综合网| 777久久久精品| 69精品人人人人| 91精品国产色综合久久不卡蜜臀| 欧美体内she精视频| 一本一本大道香蕉久在线精品| 成人黄色小视频| av一本久道久久综合久久鬼色| 国产福利91精品一区二区三区| 国产一区二区三区综合| 国产自产高清不卡| 国产一区二区三区在线观看免费视频 | 日本电影欧美片| 在线观看亚洲精品| 欧美影片第一页| 欧美日韩一级视频| 欧美日韩黄视频| 欧美一卡二卡在线| 欧美精品一区男女天堂| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美不卡一二三| www亚洲一区| 国产精品全国免费观看高清| 亚洲日本乱码在线观看| 亚洲综合色视频| 视频一区二区三区中文字幕| 日韩国产欧美在线视频| 久久精品国产精品青草| 国产大陆精品国产| 91久久精品一区二区| 欧美伦理视频网站| 久久久九九九九| 亚洲天堂福利av| 日日噜噜夜夜狠狠视频欧美人 | 欧美精品一区二区在线观看| 中文字幕 久热精品 视频在线| 亚洲人成网站在线| 日本网站在线观看一区二区三区| 国内精品嫩模私拍在线| 91天堂素人约啪| 日韩视频免费观看高清在线视频| 久久麻豆一区二区| 亚洲一区在线免费观看| 久久国产精品72免费观看| 国产91精品欧美| 欧美日韩日日摸| 国产喷白浆一区二区三区| 亚洲一区在线免费观看| 国产乱淫av一区二区三区| 在线观看日韩毛片| 国产色91在线| 日韩高清欧美激情| 99久久精品免费看国产| 日韩精品自拍偷拍| 洋洋av久久久久久久一区| 黄色日韩网站视频| 色噜噜狠狠色综合中国| 久久色中文字幕| 日本一不卡视频| 一本大道久久a久久精品综合| 精品剧情在线观看| 亚洲电影视频在线| 成人一区二区三区在线观看| 欧美高清视频一二三区| 最新国产精品久久精品| 久久狠狠亚洲综合| 欧美日韩国产一级二级| 亚洲人亚洲人成电影网站色| 国模无码大尺度一区二区三区 | 日韩一区二区三区在线| 一区二区三区在线视频免费| 国产成人在线看| 欧美成人vps| 免费观看成人鲁鲁鲁鲁鲁视频| 91啪亚洲精品| 国产精品国产三级国产aⅴ原创 | 久久精品无码一区二区三区| 日韩成人av影视| 欧美嫩在线观看| 亚洲一区二区高清| 色狠狠色狠狠综合| 国产精品福利影院| 成人国产精品免费网站| 日本一区二区免费在线| 免费高清在线一区| 欧美一区二区三区视频在线观看| 一区二区三区视频在线看| 99re这里只有精品视频首页| 国产精品拍天天在线| 成人黄色片在线观看| 国产女人18水真多18精品一级做| 国产一区视频导航| 国产午夜亚洲精品理论片色戒| 狠狠狠色丁香婷婷综合激情| 亚洲精品一区二区三区99| 久久精品国产77777蜜臀| 欧美成人一区二区| 国内不卡的二区三区中文字幕| 精品欧美久久久| 韩国v欧美v日本v亚洲v| 久久精品水蜜桃av综合天堂| 国产精品99久久久久久有的能看| 久久免费视频色| 成人免费精品视频| 国产精品久久久久婷婷| 91麻豆国产在线观看| 一区二区日韩av| 欧美精品日日鲁夜夜添| 人禽交欧美网站| 久久综合视频网| 成人网页在线观看| 亚洲乱码中文字幕综合| 欧美日韩三级一区| 国产综合一区二区| 中文字幕一区二区三区不卡在线| 色诱亚洲精品久久久久久| 亚洲一级二级在线| 精品少妇一区二区三区免费观看| 国产成人综合在线播放| 亚洲欧美激情插 | 亚洲精品水蜜桃| 欧美精选在线播放| 韩国精品主播一区二区在线观看 | 一区二区在线观看视频| 在线播放中文字幕一区| 国产精品66部| 亚洲午夜精品网|