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

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

?? osip.c

?? sip voip codes on linux 2.4.20
?? C
?? 第 1 頁 / 共 3 頁
字號:
	}      else	{	  if (0 == strcmp (evt->sip->cseq->method, "INVITE")	      || 0 == strcmp (evt->sip->cseq->method, "ACK"))	    {	      transactions = osip->ict_transactions;#ifdef OSIP_MT	      mut = ict_fastmutex;#endif	    }	  else	    {	      transactions = osip->nict_transactions;#ifdef OSIP_MT	      mut = nict_fastmutex;#endif	    }	}    }  else if (EVT_IS_OUTGOINGMSG (evt))    {      if (MSG_IS_RESPONSE (evt->sip))	{	  if (0 == strcmp (evt->sip->cseq->method, "INVITE")	      || 0 == strcmp (evt->sip->cseq->method, "ACK"))	    {	      transactions = osip->ist_transactions;#ifdef OSIP_MT	      mut = ist_fastmutex;#endif	    }	  else	    {	      transactions = osip->nist_transactions;#ifdef OSIP_MT	      mut = nist_fastmutex;#endif	    }	}      else	{	  if (0 == strcmp (evt->sip->cseq->method, "INVITE")	      || 0 == strcmp (evt->sip->cseq->method, "ACK"))	    {	      transactions = osip->ict_transactions;#ifdef OSIP_MT	      mut = ict_fastmutex;#endif	    }	  else	    {	      transactions = osip->nict_transactions;#ifdef OSIP_MT	      mut = nict_fastmutex;#endif	    }	}    }  if (transactions == NULL)    return NULL;		/* not a message??? */#ifdef OSIP_MT  smutex_lock (mut);#endif  transaction = osip_transaction_find (transactions, evt);  if (consume == 1)    {				/* we add the event before releasing the mutex!! */      if (transaction != NULL)	{	  transaction_add_event (transaction, evt);#ifdef OSIP_MT	  smutex_unlock (mut);#endif	  return transaction;	}    }#ifdef OSIP_MT  smutex_unlock (mut);#endif  return transaction;}transaction_t *osip_create_transaction (osip_t * osip, sipevent_t * evt){  transaction_t *transaction;  int i;  context_type_t ctx_type;  if (evt==NULL)    return NULL;  if (evt->sip==NULL)    return NULL;  /* make sure the request's method reflect the cseq value. */  if (MSG_IS_REQUEST (evt->sip))    {      /* delete request where cseq method does not match	 the method in request-line */      if (evt->sip->cseq==NULL || evt->sip->strtline==NULL	  || evt->sip->cseq->method==NULL || evt->sip->strtline->sipmethod==NULL)	{	  return NULL;	}      if (0 != strcmp (evt->sip->cseq->method, evt->sip->strtline->sipmethod))	{	  OSIP_TRACE (osip_trace		      (__FILE__, __LINE__, OSIP_WARNING, NULL,		       "core module: Discard invalid message with method!=cseq!\n"));	  return NULL;	}    }  if (MSG_IS_ACK (evt->sip)) /* ACK never create transactions */    return NULL;  if (EVT_IS_INCOMINGREQ (evt))    {      /* we create a new context for this incoming request */      if (0 == strcmp (evt->sip->cseq->method, "INVITE"))	ctx_type = IST;      else	ctx_type = NIST;    }  else if (EVT_IS_OUTGOINGREQ (evt))    {      if (0 == strcmp (evt->sip->cseq->method, "INVITE"))	ctx_type = ICT;      else	ctx_type = NICT;    }  else    {      OSIP_TRACE (osip_trace		  (__FILE__, __LINE__, OSIP_ERROR, NULL,		   "Cannot build a transction for this message!\n"));      return NULL;    }  i = transaction_init (&transaction, ctx_type, osip, evt->sip);  if (i == -1)    {      return NULL;    }  evt->transactionid = transaction->transactionid;  return transaction;}transaction_t *osip_transaction_find (list_t * transactions, sipevent_t * evt){  int pos = 0;  transaction_t *transaction;  if (EVT_IS_INCOMINGREQ (evt))    {      while (!list_eol (transactions, pos))	{	  transaction = (transaction_t *) list_get (transactions, pos);	  if (0 ==	      transaction_matching_request_to_xist_17_2_3 (transaction,							   evt->sip))	    return transaction;	  pos++;	}    }  else if (EVT_IS_INCOMINGRESP (evt))    {      while (!list_eol (transactions, pos))	{	  transaction = (transaction_t *) list_get (transactions, pos);	  if (0 ==	      transaction_matching_response_to_xict_17_1_3 (transaction,							    evt->sip))	    return transaction;	  pos++;	}    }  else				/* handle OUTGOING message */    {				/* THE TRANSACTION ID MUST BE SET */      while (!list_eol (transactions, pos))	{	  transaction = (transaction_t *) list_get (transactions, pos);	  if (transaction->transactionid == evt->transactionid)	    return transaction;	  pos++;	}    }  return NULL;}intosip_init (osip_t ** osip){  *osip = (osip_t *) smalloc (sizeof (osip_t));  if (*osip == NULL)    return -1;			/* allocation failed */#ifndef DISABLE_MEMSET  memset (*osip, 0, sizeof (osip_t));#else  (*osip)->cb_ict_kill_transaction = NULL;  (*osip)->cb_ict_invite_sent = NULL;  (*osip)->cb_ict_invite_sent2 = NULL;  (*osip)->cb_ict_ack_sent = NULL;  (*osip)->cb_ict_ack_sent2 = NULL;  (*osip)->cb_ict_1xx_received = NULL;  (*osip)->cb_ict_2xx_received = NULL;  (*osip)->cb_ict_2xx_received2 = NULL;  (*osip)->cb_ict_3456xx_received = NULL;  (*osip)->cb_ict_3456xx_received2 = NULL;  (*osip)->cb_ict_transport_error = NULL;  /* callbacks for ist */  (*osip)->cb_ist_kill_transaction = NULL;  (*osip)->cb_ist_invite_received = NULL;  (*osip)->cb_ist_invite_received2 = NULL;  (*osip)->cb_ist_ack_received = NULL;  (*osip)->cb_ist_ack_received2 = NULL;  (*osip)->cb_ist_1xx_sent = NULL;  (*osip)->cb_ist_1xx_sent2 = NULL;  (*osip)->cb_ist_2xx_sent = NULL;  (*osip)->cb_ist_2xx_sent2 = NULL;  (*osip)->cb_ist_3456xx_sent = NULL;  (*osip)->cb_ist_3456xx_sent2 = NULL;  (*osip)->cb_ist_transport_error = NULL;  /* callbacks for nict */  (*osip)->cb_nict_kill_transaction = NULL;  (*osip)->cb_nict_register_sent = NULL;  (*osip)->cb_nict_bye_sent = NULL;  (*osip)->cb_nict_options_sent = NULL;  (*osip)->cb_nict_info_sent = NULL;  (*osip)->cb_nict_cancel_sent = NULL;  (*osip)->cb_nict_notify_sent = NULL;  (*osip)->cb_nict_subscribe_sent = NULL;  (*osip)->cb_nict_unknown_sent = NULL;  (*osip)->cb_nict_request_sent2 = NULL;  (*osip)->cb_nict_1xx_received = NULL;  (*osip)->cb_nict_2xx_received = NULL;  (*osip)->cb_nict_2xx_received2 = NULL;  (*osip)->cb_nict_3456xx_received = NULL;  (*osip)->cb_nict_3456xx_received2 = NULL;  (*osip)->cb_nict_transport_error = NULL;  /* callbacks for nist */  (*osip)->cb_nist_kill_transaction = NULL;  (*osip)->cb_nist_register_received = NULL;  (*osip)->cb_nist_bye_received = NULL;  (*osip)->cb_nist_options_received = NULL;  (*osip)->cb_nist_info_received = NULL;  (*osip)->cb_nist_cancel_received = NULL;  (*osip)->cb_nist_notify_received = NULL;  (*osip)->cb_nist_subscribe_received = NULL;  /* ... TO BE ADDED: All known and used method extansions */  (*osip)->cb_nist_unknown_received = NULL;  (*osip)->cb_nist_request_received2 = NULL;  (*osip)->cb_nist_1xx_sent = NULL;  (*osip)->cb_nist_2xx_sent = NULL;  (*osip)->cb_nist_2xx_sent2 = NULL;  (*osip)->cb_nist_3456xx_sent = NULL;  (*osip)->cb_nist_3456xx_sent2 = NULL;  (*osip)->cb_nist_transport_error = NULL;#endif  (*osip)->ict_transactions = (list_t *) smalloc (sizeof (list_t));  list_init ((*osip)->ict_transactions);  (*osip)->ist_transactions = (list_t *) smalloc (sizeof (list_t));  list_init ((*osip)->ist_transactions);  (*osip)->nict_transactions = (list_t *) smalloc (sizeof (list_t));  list_init ((*osip)->nict_transactions);  (*osip)->nist_transactions = (list_t *) smalloc (sizeof (list_t));  list_init ((*osip)->nist_transactions);  return 0;}voidosip_free (osip_t * osip){  sfree (osip->ict_transactions);  sfree (osip->ist_transactions);  sfree (osip->nict_transactions);  sfree (osip->nist_transactions);}voidosip_set_application_context (osip_t * osip, void *pointer){  osip->application_context = pointer;}void *osip_get_application_context (osip_t * osip){  if (osip == NULL)    return NULL;  return osip->application_context;}intosip_ict_execute (osip_t * osip){  transaction_t *transaction;  sipevent_t *se;  int more_event;  int tr;  tr = 0;  while (!list_eol (osip->ict_transactions, tr))    {      transaction = list_get (osip->ict_transactions, tr);      tr++;      more_event = 1;      do	{	  se = (sipevent_t *) fifo_tryget (transaction->transactionff);	  if (se == NULL)	/* no more event for this transaction */	    more_event = 0;	  else	    transaction_execute (transaction, se);	}      while (more_event == 1);    }  return 0;}intosip_ist_execute (osip_t * osip){  transaction_t *transaction;  sipevent_t *se;  int more_event;  int tr;  tr = 0;  while (!list_eol (osip->ist_transactions, tr))    {      transaction = list_get (osip->ist_transactions, tr);      tr++;      more_event = 1;      do	{	  se = (sipevent_t *) fifo_tryget (transaction->transactionff);	  if (se == NULL)	/* no more event for this transaction */	    more_event = 0;	  else	    transaction_execute (transaction, se);	}      while (more_event == 1);    }  return 0;}intosip_nict_execute (osip_t * osip){  transaction_t *transaction;  sipevent_t *se;  int more_event;  int tr;  tr = 0;  while (!list_eol (osip->nict_transactions, tr))    {      transaction = list_get (osip->nict_transactions, tr);      tr++;      more_event = 1;      do	{	  se = (sipevent_t *) fifo_tryget (transaction->transactionff);	  if (se == NULL)	/* no more event for this transaction */	    more_event = 0;	  else	    transaction_execute (transaction, se);	}      while (more_event == 1);    }  return 0;}intosip_nist_execute (osip_t * osip){  transaction_t *transaction;  sipevent_t *se;  int more_event;  int tr;  tr = 0;  while (!list_eol (osip->nist_transactions, tr))    {      transaction = list_get (osip->nist_transactions, tr);      tr++;      more_event = 1;      do	{	  se = (sipevent_t *) fifo_tryget (transaction->transactionff);	  if (se == NULL)	/* no more event for this transaction */	    more_event = 0;	  else	    transaction_execute (transaction, se);	}      while (more_event == 1);    }  return 0;}voidosip_timers_ict_execute (osip_t * osip){  transaction_t *tr;  int pos = 0;#ifdef OSIP_MT  smutex_lock (ict_fastmutex);#endif  /* handle ict timers */  while (!list_eol (osip->ict_transactions, pos))    {      sipevent_t *evt;      tr = (transaction_t *) list_get (osip->ict_transactions, pos);      if (1 <= fifo_size (tr->transactionff))	{	  OSIP_TRACE (osip_trace		      (__FILE__, __LINE__, OSIP_INFO4, NULL,		       "1 Pending event already in transaction !\n"));	}      else	{	  evt =	    ict_need_timer_b_event (tr->ict_context, tr->state,				    tr->transactionid);	  if (evt != NULL)	    fifo_add (tr->transactionff, evt);	  else	    {	      evt =		ict_need_timer_a_event (tr->ict_context, tr->state,					tr->transactionid);	      if (evt != NULL)		fifo_add (tr->transactionff, evt);	      else		{		  evt = ict_need_timer_d_event (tr->ict_context, tr->state,						tr->transactionid);		  if (evt != NULL)		    fifo_add (tr->transactionff, evt);		}	    }	}      pos++;    }#ifdef OSIP_MT  smutex_unlock (ict_fastmutex);#endif}voidosip_timers_ist_execute (osip_t * osip){  transaction_t *tr;  int pos = 0;#ifdef OSIP_MT  smutex_lock (ist_fastmutex);#endif  /* handle ist timers */  while (!list_eol (osip->ist_transactions, pos))    {      sipevent_t *evt;      tr = (transaction_t *) list_get (osip->ist_transactions, pos);      evt =	ist_need_timer_i_event (tr->ist_context, tr->state,				tr->transactionid);      if (evt != NULL)	fifo_add (tr->transactionff, evt);      else	{	  evt = ist_need_timer_h_event (tr->ist_context, tr->state,					tr->transactionid);	  if (evt != NULL)	    fifo_add (tr->transactionff, evt);	  else	    {	      evt = ist_need_timer_g_event (tr->ist_context, tr->state,					    tr->transactionid);	      if (evt != NULL)		fifo_add (tr->transactionff, evt);	    }	}      pos++;    }#ifdef OSIP_MT  smutex_unlock (ist_fastmutex);#endif}voidosip_timers_nict_execute (osip_t * osip){  transaction_t *tr;  int pos = 0;#ifdef OSIP_MT  smutex_lock (nict_fastmutex);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性欧美巨大黑白大战| 欧美不卡视频一区| 国精产品一区一区三区mba桃花| 中文在线一区二区 | 波多野结衣的一区二区三区| 视频一区在线播放| 亚洲另类在线视频| 337p日本欧洲亚洲大胆精品 | 99视频在线精品| 久久91精品国产91久久小草| 亚洲综合色区另类av| 久久久不卡网国产精品二区| 欧美妇女性影城| 在线观看国产日韩| 91亚洲精品久久久蜜桃网站| 亚洲国产成人午夜在线一区| 成人av片在线观看| 国产一二三精品| 视频一区视频二区在线观看| 国产精品大尺度| 久久视频一区二区| 精品精品欲导航| 欧美精品123区| 欧美日韩午夜影院| 色av一区二区| 色综合久久久久综合体桃花网| 欧美久久久久久久久| 欧美主播一区二区三区| 91在线看国产| gogogo免费视频观看亚洲一| 国产99一区视频免费| 国产麻豆视频一区| 国产精品99久久久久久久vr| 国产在线精品一区二区不卡了 | 久久精品免费观看| 性久久久久久久| 首页综合国产亚洲丝袜| 五月天亚洲婷婷| 欧美mv日韩mv国产网站app| 精品一区二区三区在线播放 | 在线成人免费视频| 欧洲亚洲国产日韩| 欧美视频一区二区三区四区| 在线视频国内自拍亚洲视频| 91成人在线精品| 欧美区在线观看| 欧美不卡视频一区| 久久这里都是精品| 亚洲国产电影在线观看| 18成人在线视频| 亚洲香肠在线观看| 调教+趴+乳夹+国产+精品| 日韩福利电影在线观看| 久久精品av麻豆的观看方式| 黑人巨大精品欧美一区| 国产盗摄女厕一区二区三区| 99麻豆久久久国产精品免费 | 日韩国产一二三区| 国产一区二区在线看| 国产成人av电影在线播放| 国产婷婷色一区二区三区| 国产成人av一区二区三区在线观看| 国产福利91精品一区| 波多野结衣亚洲一区| 精品视频123区在线观看| 日韩一区二区免费电影| 久久久综合九色合综国产精品| 国产精品色噜噜| 午夜私人影院久久久久| 国产综合色在线视频区| 色综合天天综合色综合av| 欧美日韩国产综合一区二区三区 | 成人免费视频app| 欧美在线观看视频一区二区| 欧美成人艳星乳罩| 亚洲国产精品传媒在线观看| 午夜电影一区二区| 国产成人午夜精品5599| 欧美四级电影在线观看| 国产亚洲综合色| 亚洲成人动漫在线观看| 国产精品一卡二卡| 欧美日韩1234| 国产精品色一区二区三区| 日本成人在线看| 精品av久久707| 亚洲一二三四在线| 免费高清视频精品| 高清国产午夜精品久久久久久| 在线欧美日韩国产| 久久精品无码一区二区三区| 亚洲1区2区3区4区| 国产99久久久久久免费看农村| 欧美日韩国产综合视频在线观看| 国产亚洲午夜高清国产拍精品| 亚洲电影中文字幕在线观看| 国产成人av一区二区三区在线观看| 欧美日韩一二区| 久久久久国产成人精品亚洲午夜| 亚洲国产毛片aaaaa无费看 | 色综合久久中文综合久久牛| 日韩欧美国产午夜精品| 一区二区免费看| 国产成人精品免费一区二区| 日韩美女视频在线| 亚洲国产综合人成综合网站| 99国内精品久久| 中文字幕精品在线不卡| 另类小说视频一区二区| 欧美日韩国产在线观看| 亚洲欧美色一区| 99在线精品一区二区三区| 国产亚洲一区二区三区| 黄网站免费久久| 日韩欧美一级二级| 日本在线不卡视频一二三区| 欧美手机在线视频| 亚洲精品乱码久久久久久| 91在线观看美女| 国产精品国模大尺度视频| 国产精品99久久久久久久女警| 久久久综合精品| 蜜桃av一区二区三区电影| 欧美精品一级二级三级| 亚洲国产va精品久久久不卡综合| av电影一区二区| 中文字幕中文字幕一区| 成人美女视频在线观看18| 国产婷婷色一区二区三区 | 成人av免费在线| 国产欧美日韩久久| 国产一区视频导航| 久久久天堂av| 国产伦精品一区二区三区免费 | 国产午夜一区二区三区| 极品美女销魂一区二区三区| 日韩精品一区二区三区视频在线观看 | 91麻豆精品国产91久久久| 爽好久久久欧美精品| 欧美浪妇xxxx高跟鞋交| 日韩精品电影在线| 欧美一区二区三区在线观看| 国产福利视频一区二区三区| 亚洲午夜激情av| 欧美三级电影在线观看| 午夜精品福利在线| 日韩欧美一区电影| 国产一区二区久久| 国产精品久久久久一区二区三区 | 亚洲精品一区二区三区香蕉| 国产一区二区三区免费播放| www成人在线观看| 国产成人av自拍| 亚洲精品精品亚洲| 6080国产精品一区二区| 精品无码三级在线观看视频| 欧美激情在线一区二区| 91九色最新地址| 日韩成人伦理电影在线观看| 亚洲精品在线网站| 91麻豆免费在线观看| 午夜国产精品影院在线观看| 日韩一区二区三区观看| 国产精品综合二区| 亚洲精品中文字幕乱码三区| 欧美一区二区播放| 国产精品99久久久久久似苏梦涵| 亚洲免费av在线| 欧美一级黄色片| 成人午夜视频在线| 亚洲午夜精品网| 久久久久国产精品免费免费搜索 | 久久久久久夜精品精品免费| 92精品国产成人观看免费| 日韩主播视频在线| 国产精品美女久久久久久2018 | 国产自产视频一区二区三区| 国产精品免费看片| 91精品国产欧美日韩| 丁香网亚洲国际| 丝袜脚交一区二区| 一区二区中文字幕在线| 亚洲成人综合网站| 日韩欧美国产精品一区| 国产·精品毛片| 日韩精品一二区| 亚洲婷婷综合色高清在线| 日韩视频免费直播| 色综合色综合色综合色综合色综合| 人人精品人人爱| 亚洲男人的天堂av| 久久精品视频免费| 欧美人妖巨大在线| av在线播放不卡| 国产麻豆精品95视频| 视频一区视频二区中文字幕| 中文字幕一区二区三区在线播放| 日韩一级完整毛片| 欧美性色综合网| 99麻豆久久久国产精品免费优播|