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

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

?? osip.c

?? 一個有限狀態機的實現源代碼。C語言實現。
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*  The oSIP library implements the Session Initiation Protocol (SIP -rfc2543-)  Copyright (C) 2001  Aymeric MOIZARD jack@atosc.org    This library is free software; you can redistribute it and/or  modify it under the terms of the GNU Lesser General Public  License as published by the Free Software Foundation; either  version 2.1 of the License, or (at your option) any later version.    This library is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  Lesser General Public License for more details.    You should have received a copy of the GNU Lesser General Public  License along with this library; if not, write to the Free Software  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include <osip/osip.h>#include "fsm.h"#include <osip/port.h>intosip_init(osip_t **osip){  *osip = (osip_t *)smalloc(sizeof(osip_t));  if (*osip==NULL)    return -1; /* allocation failed */  osip_init_timers(*osip);  /* list of current transactions */  (*osip)->transactions    = (list_t *) smalloc(sizeof(list_t));  list_init((*osip)->transactions);  /* default behavior: do not use a proxy */  (*osip)->proxy = NULL;  (*osip)->cb_rcvinvite = NULL;  (*osip)->cb_rcvack = NULL;  (*osip)->cb_rcvbye = NULL;  (*osip)->cb_rcvcancel = NULL;  (*osip)->cb_rcvinfo = NULL;  (*osip)->cb_rcvoptions = NULL;  (*osip)->cb_rcvregister = NULL;  (*osip)->cb_rcvprack = NULL;  (*osip)->cb_rcvunkrequest = NULL;  (*osip)->cb_sndinvite = NULL;  (*osip)->cb_sndack = NULL;  (*osip)->cb_sndbye = NULL;  (*osip)->cb_sndcancel = NULL;  (*osip)->cb_sndinfo = NULL;  (*osip)->cb_sndoptions = NULL;  (*osip)->cb_sndregister = NULL;  (*osip)->cb_sndprack = NULL;  (*osip)->cb_sndunkrequest = NULL;#ifndef EXTENDED_CALLBACKS  (*osip)->cb_snd1xx = NULL;  (*osip)->cb_snd2xx = NULL;  (*osip)->cb_snd3xx = NULL;  (*osip)->cb_snd4xx = NULL;  (*osip)->cb_snd5xx = NULL;  (*osip)->cb_snd6xx = NULL;  (*osip)->cb_rcv1xx = NULL;  (*osip)->cb_rcv2xx = NULL;  (*osip)->cb_rcv3xx = NULL;  (*osip)->cb_rcv4xx = NULL;  (*osip)->cb_rcv5xx = NULL;  (*osip)->cb_rcv6xx = NULL;#else  (*osip)->cb_sndinvite1xx = NULL;  (*osip)->cb_sndinvite2xx = NULL;  (*osip)->cb_sndinvite3xx = NULL;  (*osip)->cb_sndinvite4xx = NULL;  (*osip)->cb_sndinvite5xx = NULL;  (*osip)->cb_sndinvite6xx = NULL;  (*osip)->cb_rcvinvite1xx = NULL;  (*osip)->cb_rcvinvite2xx = NULL;  (*osip)->cb_rcvinvite3xx = NULL;  (*osip)->cb_rcvinvite4xx = NULL;  (*osip)->cb_rcvinvite5xx = NULL;  (*osip)->cb_rcvinvite6xx = NULL;  (*osip)->cb_sndack1xx = NULL;  (*osip)->cb_sndack2xx = NULL;  (*osip)->cb_sndack3xx = NULL;  (*osip)->cb_sndack4xx = NULL;  (*osip)->cb_sndack5xx = NULL;  (*osip)->cb_sndack6xx = NULL;  (*osip)->cb_rcvack1xx = NULL;  (*osip)->cb_rcvack2xx = NULL;  (*osip)->cb_rcvack3xx = NULL;  (*osip)->cb_rcvack4xx = NULL;  (*osip)->cb_rcvack5xx = NULL;  (*osip)->cb_rcvack6xx = NULL;  (*osip)->cb_sndbye1xx = NULL;  (*osip)->cb_sndbye2xx = NULL;  (*osip)->cb_sndbye3xx = NULL;  (*osip)->cb_sndbye4xx = NULL;  (*osip)->cb_sndbye5xx = NULL;  (*osip)->cb_sndbye6xx = NULL;  (*osip)->cb_rcvbye1xx = NULL;  (*osip)->cb_rcvbye2xx = NULL;  (*osip)->cb_rcvbye3xx = NULL;  (*osip)->cb_rcvbye4xx = NULL;  (*osip)->cb_rcvbye5xx = NULL;  (*osip)->cb_rcvbye6xx = NULL;  (*osip)->cb_sndcancel1xx = NULL;  (*osip)->cb_sndcancel2xx = NULL;  (*osip)->cb_sndcancel3xx = NULL;  (*osip)->cb_sndcancel4xx = NULL;  (*osip)->cb_sndcancel5xx = NULL;  (*osip)->cb_sndcancel6xx = NULL;  (*osip)->cb_rcvcancel1xx = NULL;  (*osip)->cb_rcvcancel2xx = NULL;  (*osip)->cb_rcvcancel3xx = NULL;  (*osip)->cb_rcvcancel4xx = NULL;  (*osip)->cb_rcvcancel5xx = NULL;  (*osip)->cb_rcvcancel6xx = NULL;  (*osip)->cb_sndinfo1xx = NULL;  (*osip)->cb_sndinfo2xx = NULL;  (*osip)->cb_sndinfo3xx = NULL;  (*osip)->cb_sndinfo4xx = NULL;  (*osip)->cb_sndinfo5xx = NULL;  (*osip)->cb_sndinfo6xx = NULL;  (*osip)->cb_rcvinfo1xx = NULL;  (*osip)->cb_rcvinfo2xx = NULL;  (*osip)->cb_rcvinfo3xx = NULL;  (*osip)->cb_rcvinfo4xx = NULL;  (*osip)->cb_rcvinfo5xx = NULL;  (*osip)->cb_rcvinfo6xx = NULL;  (*osip)->cb_sndoptions1xx = NULL;  (*osip)->cb_sndoptions2xx = NULL;  (*osip)->cb_sndoptions3xx = NULL;  (*osip)->cb_sndoptions4xx = NULL;  (*osip)->cb_sndoptions5xx = NULL;  (*osip)->cb_sndoptions6xx = NULL;  (*osip)->cb_rcvoptions1xx = NULL;  (*osip)->cb_rcvoptions2xx = NULL;  (*osip)->cb_rcvoptions3xx = NULL;  (*osip)->cb_rcvoptions4xx = NULL;  (*osip)->cb_rcvoptions5xx = NULL;  (*osip)->cb_rcvoptions6xx = NULL;  (*osip)->cb_sndregister1xx = NULL;  (*osip)->cb_sndregister2xx = NULL;  (*osip)->cb_sndregister3xx = NULL;  (*osip)->cb_sndregister4xx = NULL;  (*osip)->cb_sndregister5xx = NULL;  (*osip)->cb_sndregister6xx = NULL;  (*osip)->cb_rcvregister1xx = NULL;  (*osip)->cb_rcvregister2xx = NULL;  (*osip)->cb_rcvregister3xx = NULL;  (*osip)->cb_rcvregister4xx = NULL;  (*osip)->cb_rcvregister5xx = NULL;  (*osip)->cb_rcvregister6xx = NULL;  (*osip)->cb_sndprack1xx = NULL;  (*osip)->cb_sndprack2xx = NULL;  (*osip)->cb_sndprack3xx = NULL;  (*osip)->cb_sndprack4xx = NULL;  (*osip)->cb_sndprack5xx = NULL;  (*osip)->cb_sndprack6xx = NULL;  (*osip)->cb_rcvprack1xx = NULL;  (*osip)->cb_rcvprack2xx = NULL;  (*osip)->cb_rcvprack3xx = NULL;  (*osip)->cb_rcvprack4xx = NULL;  (*osip)->cb_rcvprack5xx = NULL;  (*osip)->cb_rcvprack6xx = NULL;  (*osip)->cb_sndunkrequest1xx = NULL;  (*osip)->cb_sndunkrequest2xx = NULL;  (*osip)->cb_sndunkrequest3xx = NULL;  (*osip)->cb_sndunkrequest4xx = NULL;  (*osip)->cb_sndunkrequest5xx = NULL;  (*osip)->cb_sndunkrequest6xx = NULL;  (*osip)->cb_rcvunkrequest1xx = NULL;  (*osip)->cb_rcvunkrequest2xx = NULL;  (*osip)->cb_rcvunkrequest3xx = NULL;  (*osip)->cb_rcvunkrequest4xx = NULL;  (*osip)->cb_rcvunkrequest5xx = NULL;  (*osip)->cb_rcvunkrequest6xx = NULL;#endif  (*osip)->cb_rcvresp_retransmission = NULL;  (*osip)->cb_sndreq_retransmission = NULL;  (*osip)->cb_sndresp_retransmission = NULL;  (*osip)->cb_rcvreq_retransmission = NULL;  (*osip)->cb_killtransaction = NULL;  (*osip)->cb_endoftransaction = NULL;  (*osip)->cb_connection_refused = NULL;  (*osip)->cb_network_error = NULL;  return 0;}intosip_init_timers(osip_t *osip){  /* timers for uac and uas transactions. */  osip->uac_timerff   = (fifo_t *)smalloc(sizeof(fifo_t));  osip->uas_timerff   = (fifo_t *)smalloc(sizeof(fifo_t));  fifo_init(osip->uac_timerff);  fifo_init(osip->uas_timerff);  /* timers for uac and uas transactions. */  osip->uas_transactions  = (list_t *)smalloc(sizeof(list_t));  list_init(osip->uas_transactions);  osip->uac_transactions  = (list_t *)smalloc(sizeof(list_t));  list_init(osip->uac_transactions);  return 0;}voidosip_init_proxy(osip_t *osip, url_t *prox){  osip->proxy = prox;}intosip_execute(osip_t *config){  transaction_t *transaction;  sipevent_t *se;  int more_event;  int tr;  tr=0;  while (!list_eol(config->transactions,tr))    {      transaction = list_get(config->transactions,tr);      tr++;      more_event = 1;      do	{	  se = (sipevent_t *)fifo_tryget(transaction->transactionff);	  	  if (se==NULL) /* no more event for this transaction */	    {	      /* continue with next transaction, and its first event */	      more_event=0;   	    }	  else	    {	      transaction_execute(transaction,se);	    }	} while (more_event==1);    }  return 0;}void osip_setcb_killtransaction  (osip_t *cf,void (*cb)(transaction_t*)){  cf->cb_killtransaction = cb;}void osip_setcb_endoftransaction  (osip_t *cf,void (*cb)(transaction_t*)){  cf->cb_endoftransaction = cb;}void osip_setcb_connection_refused  (osip_t *cf,void (*cb)(transaction_t*)){  cf->cb_connection_refused = cb;}void osip_setcb_network_error  (osip_t *cf,void (*cb)(transaction_t*)){  cf->cb_network_error = cb;}void osip_setcb_rcvreq_retransmission  (osip_t *cf,void (*cb)(transaction_t*)){  cf->cb_rcvreq_retransmission = cb;}void osip_setcb_sndreq_retransmission (osip_t *cf,void (*cb)(transaction_t*)){  cf->cb_sndreq_retransmission = cb;}void osip_setcb_sndresp_retransmission     (osip_t *cf,void (*cb)(transaction_t*)){  cf->cb_sndresp_retransmission = cb;}void osip_setcb_rcvresp_retransmission(osip_t *cf,void (*cb)(transaction_t*)){  cf->cb_rcvresp_retransmission = cb;}void osip_setcb_rcvinvite  (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvinvite = cb;}void osip_setcb_rcvack     (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvack = cb;}void osip_setcb_rcvbye     (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvbye = cb;}void osip_setcb_rcvcancel  (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvcancel = cb;}void osip_setcb_rcvinfo    (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvinfo = cb;}void osip_setcb_rcvoptions (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvoptions = cb;}void osip_setcb_rcvregister(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvregister = cb;}void osip_setcb_rcvprack   (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvprack = cb;}void osip_setcb_rcvunkrequest(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvunkrequest = cb;}void osip_setcb_sndinvite  (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndinvite = cb;}void osip_setcb_sndack     (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndack = cb;}void osip_setcb_sndbye     (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndbye = cb;}void osip_setcb_sndcancel  (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndcancel = cb;}void osip_setcb_sndinfo    (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndinfo = cb;}void osip_setcb_sndoptions (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndoptions = cb;}void osip_setcb_sndregister(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndregister = cb;}void osip_setcb_sndprack   (osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndprack = cb;}void osip_setcb_sndunkrequest(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_sndunkrequest = cb;}#ifndef EXTENDED_CALLBACKSvoid osip_setcb_rcv1xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcv1xx = cb;}void osip_setcb_rcv2xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcv2xx = cb;}void osip_setcb_rcv3xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcv3xx = cb;}void osip_setcb_rcv4xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcv4xx = cb;}void osip_setcb_rcv5xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcv5xx = cb;}void osip_setcb_rcv6xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcv6xx = cb;}void osip_setcb_snd1xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_snd1xx = cb;}void osip_setcb_snd2xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_snd2xx = cb;}void osip_setcb_snd3xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_snd3xx = cb;}void osip_setcb_snd4xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_snd4xx = cb;}void osip_setcb_snd5xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_snd5xx = cb;}void osip_setcb_snd6xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_snd6xx = cb;}#elsevoid osip_setcb_rcvinvite1xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvinvite1xx = cb;}void osip_setcb_rcvinvite2xx(osip_t *cf,void (*cb)(sipevent_t*,transaction_t*)){  cf->cb_rcvinvite2xx = cb;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
东方aⅴ免费观看久久av| 欧美日韩亚洲国产综合| 91麻豆精品国产自产在线观看一区| 久久综合色天天久久综合图片| 天堂在线亚洲视频| 欧美视频中文一区二区三区在线观看 | 亚洲成人免费视频| 中文在线免费一区三区高中清不卡| 亚洲欧洲国产日本综合| 东方aⅴ免费观看久久av| 国产精品国产自产拍高清av | 国产精品网站在线观看| 国产美女视频91| 国产精品久久久久久久久快鸭| 美女精品自拍一二三四| 777a∨成人精品桃花网| 久久综合综合久久综合| 国产清纯在线一区二区www| 成人蜜臀av电影| 亚洲一区二区三区四区在线观看| 91久久香蕉国产日韩欧美9色| 亚洲一区中文在线| 成人午夜视频在线观看| 中文字幕色av一区二区三区| 在线观看视频一区| 裸体一区二区三区| 国产精品素人一区二区| 777亚洲妇女| 国产精品一区二区在线看| 亚洲视频精选在线| 欧美亚洲免费在线一区| 亚洲成人av福利| 欧美草草影院在线视频| www.欧美日韩国产在线| 亚洲777理论| √…a在线天堂一区| 日韩免费视频线观看| 暴力调教一区二区三区| 秋霞午夜av一区二区三区| 国产婷婷色一区二区三区四区 | 不卡视频在线看| 免费精品视频在线| 中文字幕亚洲综合久久菠萝蜜| 日韩午夜在线观看| 91福利在线播放| 国产成人丝袜美腿| 美女尤物国产一区| 午夜视频一区在线观看| 国产精品久久久久久久蜜臀| 国产精品久线在线观看| 国产乱色国产精品免费视频| 亚洲色图都市小说| 最新不卡av在线| 国产精品久久一级| 亚洲国产中文字幕在线视频综合 | 99re在线精品| 在线不卡中文字幕播放| 国产日韩在线不卡| 天堂影院一区二区| 色婷婷狠狠综合| 精品国产成人系列| 亚洲午夜电影网| 风间由美一区二区av101| 欧美视频一区二| 日韩欧美电影一二三| 26uuu亚洲| 免费观看在线色综合| 在线这里只有精品| 欧美日韩中文一区| 在线观看网站黄不卡| 中文字幕av一区二区三区| 亚洲va欧美va人人爽| 欧美亚洲国产怡红院影院| 欧美日产在线观看| 亚洲一区二区3| 欧美色精品在线视频| 亚洲自拍偷拍九九九| 成人福利视频网站| 6080yy午夜一二三区久久| 国产精品久久毛片| 成人免费毛片a| 久久综合九色综合97婷婷女人| 日日摸夜夜添夜夜添精品视频| 欧美亚日韩国产aⅴ精品中极品| 日韩欧美一区在线| 亚洲五月六月丁香激情| 97aⅴ精品视频一二三区| 亚洲精品美国一| 欧美日韩一区视频| 男人的天堂久久精品| 欧美日韩成人综合在线一区二区| 久久久精品免费免费| 成人一区二区三区中文字幕| 久久美女艺术照精彩视频福利播放 | 国产一区二区看久久| 久久久久国产精品麻豆| 色综合久久久久| 亚洲国产视频一区| 欧美成人伊人久久综合网| 国产成人无遮挡在线视频| 国产精品欧美一区二区三区| 91麻豆高清视频| 国产欧美日韩另类视频免费观看| 看国产成人h片视频| 国产精品免费久久| 欧美成人vps| 一本久久精品一区二区| 蜜臀av性久久久久蜜臀aⅴ | 欧美久久久久中文字幕| 丝袜亚洲另类欧美| 亚洲激情欧美激情| 欧美日韩第一区日日骚| av亚洲精华国产精华精| 国产精品18久久久久久久久久久久| 图片区小说区区亚洲影院| 国产亚洲污的网站| 国产精品天天摸av网| 亚洲国产精华液网站w | 日韩一区和二区| 日韩一区二区三区在线观看| 91麻豆精品国产91久久久久久| 日韩欧美一区电影| 久久色在线观看| 亚洲国产日韩综合久久精品| 国产一区 二区 三区一级| 成人白浆超碰人人人人| 欧美婷婷六月丁香综合色| 欧美成人一区二区三区片免费| 久久蜜臀精品av| 五月婷婷欧美视频| 不卡一区中文字幕| 蜜桃av噜噜一区| 成人夜色视频网站在线观看| 日韩精品一区二| 一区二区三区日韩欧美精品| 国产91露脸合集magnet| 欧美成人精品福利| 亚洲午夜电影在线观看| 91福利在线观看| 国产精品久久久久久久久搜平片| 日本乱人伦aⅴ精品| 中文一区二区在线观看| 捆绑调教一区二区三区| 欧美区一区二区三区| 亚洲动漫第一页| 欧美日韩精品欧美日韩精品| 一区二区免费视频| 91亚洲国产成人精品一区二三| 国产精品天干天干在观线| 成人免费视频caoporn| 亚洲天堂久久久久久久| 99久久99久久久精品齐齐| 久久人人97超碰com| 东方欧美亚洲色图在线| 日韩亚洲电影在线| 国模冰冰炮一区二区| 国产区在线观看成人精品| 色综合天天视频在线观看| 一区二区三区毛片| 在线播放日韩导航| 麻豆精品在线视频| 国产欧美精品在线观看| 色美美综合视频| 亚洲一区二区不卡免费| 欧美一区二区三区视频在线观看 | 国产女主播一区| 一本久道久久综合中文字幕| 奇米四色…亚洲| 欧美国产综合色视频| 国产91在线看| 另类综合日韩欧美亚洲| 亚洲免费毛片网站| 欧美一区二区三区婷婷月色| 成a人片亚洲日本久久| 国产寡妇亲子伦一区二区| 久久精品av麻豆的观看方式| 亚洲精品久久久久久国产精华液 | 不卡高清视频专区| 日本欧美一区二区在线观看| 中文字幕中文字幕在线一区 | 日韩综合小视频| 国产精品日产欧美久久久久| 日韩精品专区在线影院观看| 欧美精品自拍偷拍| 在线免费观看日本一区| 99久久99久久综合| 日本高清免费不卡视频| 国产传媒日韩欧美成人| 久久成人麻豆午夜电影| 天天综合网天天综合色| 国产精品你懂的在线| 亚洲欧洲性图库| 欧美激情一区二区三区四区 | 欧美日本不卡视频| 91丝袜美腿高跟国产极品老师| 高清不卡一二三区| 国产福利91精品| 成人av在线一区二区| 成人动漫视频在线| 91麻豆国产在线观看|