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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? osip.c

?? 一個(gè)有限狀態(tài)機(jī)的實(shí)現(xiàn)源代碼。C語言實(shí)現(xiàn)。
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/*  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;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品国产毛片| 国产精品高潮呻吟| 69av一区二区三区| 一本色道a无线码一区v| 97se狠狠狠综合亚洲狠狠| 波多野结衣精品在线| 国产91丝袜在线播放九色| 国产伦精品一区二区三区免费| 蜜桃一区二区三区在线观看| 日韩高清中文字幕一区| 天涯成人国产亚洲精品一区av| 亚洲动漫第一页| 亚洲成人精品一区二区| 一区二区三区美女视频| 亚洲第一综合色| 天堂蜜桃91精品| 蜜臀va亚洲va欧美va天堂| 欧美aaaaaa午夜精品| 精品在线观看免费| 国产麻豆精品在线观看| www.在线成人| 在线观看www91| 精品美女一区二区| 欧美大黄免费观看| 26uuu亚洲综合色欧美| 国产亚洲欧洲997久久综合| 国产精品久久久久久亚洲毛片| 国产精品久久久久久久久免费相片 | 国内成+人亚洲+欧美+综合在线| 国内精品久久久久影院色| 国产乱理伦片在线观看夜一区| 国产呦萝稀缺另类资源| 成人在线视频首页| 91麻豆.com| 9191精品国产综合久久久久久 | 亚洲国产视频一区| 免费人成精品欧美精品| 国产精品白丝jk黑袜喷水| 成人av电影免费观看| 日本高清不卡一区| 日韩久久免费av| 国产精品丝袜一区| 一区二区三区欧美视频| 蜜臀av一级做a爰片久久| 国产精品一区免费在线观看| 成人动漫av在线| 欧美日本一区二区| 精品成人在线观看| 亚洲精品精品亚洲| 热久久免费视频| 成人小视频在线观看| 欧洲日韩一区二区三区| 精品精品国产高清a毛片牛牛| 国产精品久久福利| 欧美96一区二区免费视频| 9l国产精品久久久久麻豆| 欧美撒尿777hd撒尿| 日韩欧美一区二区免费| 亚洲欧洲av在线| 日本不卡一区二区三区| 国产一区二区三区四区五区美女 | 国产不卡视频在线播放| 一本色道综合亚洲| 精品嫩草影院久久| 亚洲私人黄色宅男| 日av在线不卡| 91亚洲资源网| 欧美一区二区在线免费观看| 欧美大尺度电影在线| 亚洲私人黄色宅男| 国内外成人在线| 欧美午夜片在线看| 国产欧美日韩精品a在线观看| 亚洲一区二区三区四区在线免费观看| 天天爽夜夜爽夜夜爽精品视频| 成人综合在线视频| 日韩欧美一级片| 亚洲精品美腿丝袜| 国产精品一区在线| 欧美日韩精品专区| 日韩一区二区高清| 国产精品久久久久久久岛一牛影视| 亚洲国产一区在线观看| 国产成人av电影在线播放| 欧美福利视频导航| 亚洲人午夜精品天堂一二香蕉| 免费一级欧美片在线观看| 91首页免费视频| 久久综合五月天婷婷伊人| 亚洲午夜电影在线| 国产伦精品一区二区三区视频青涩| 在线观看不卡一区| 国产精品婷婷午夜在线观看| 久久er精品视频| 精品视频在线视频| 成人免费在线播放视频| 国产原创一区二区三区| 欧美日韩日日骚| 亚洲精品ww久久久久久p站| 国内欧美视频一区二区| 欧美videofree性高清杂交| 亚洲大片免费看| 91传媒视频在线播放| 中文文精品字幕一区二区| 久久超碰97人人做人人爱| 欧美另类变人与禽xxxxx| 亚洲精品免费看| 91一区一区三区| 国产欧美精品区一区二区三区| 日韩av网站免费在线| 欧美日韩免费一区二区三区视频| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品一区二区免费不卡| 日韩美女一区二区三区四区| 日韩不卡一二三区| 欧美精品v国产精品v日韩精品| 五月天婷婷综合| 欧美日韩一区高清| 亚洲精品免费在线观看| 91浏览器在线视频| 一区二区三区精密机械公司| 91蜜桃网址入口| 亚洲欧美国产高清| 色狠狠一区二区三区香蕉| 国产精品欧美精品| 一本一道久久a久久精品综合蜜臀| 欧美国产综合一区二区| 国产69精品一区二区亚洲孕妇| 久久久国产精品麻豆| 成人性视频网站| 国产精品理伦片| 91麻豆swag| 亚洲国产精品久久久久婷婷884 | 亚洲成人免费视| 日韩你懂的电影在线观看| 蜜臀av性久久久久av蜜臀妖精| 日韩一区二区免费高清| 国产在线一区二区| 国产三级精品在线| 99久精品国产| 亚洲国产综合在线| 欧美日韩1区2区| 另类小说综合欧美亚洲| 久久久亚洲国产美女国产盗摄 | 国产午夜一区二区三区| 成人午夜激情在线| 亚洲人精品一区| 欧美日韩免费观看一区三区| 蜜臀av一级做a爰片久久| 久久免费美女视频| www.亚洲在线| 亚洲天堂免费看| 欧美亚洲一区二区在线观看| 日精品一区二区| 久久亚洲一区二区三区明星换脸| 国产成人综合在线播放| 亚洲色图第一区| 91麻豆精品91久久久久久清纯| 另类综合日韩欧美亚洲| 国产精品不卡一区| 欧美日韩精品高清| 久久精工是国产品牌吗| 国产欧美日本一区二区三区| 日本乱码高清不卡字幕| 看电影不卡的网站| 国产精品婷婷午夜在线观看| 欧美丝袜丝交足nylons| 激情五月激情综合网| 国产精品久久一级| 日韩精品一区二区三区视频| jizz一区二区| 日韩av网站在线观看| 中文字幕亚洲区| 欧美一区二区三区思思人| 成人黄色片在线观看| 亚洲欧美乱综合| 国产精品日韩成人| 欧美一区二区黄色| 波波电影院一区二区三区| 午夜不卡在线视频| 国产精品免费av| 日韩午夜精品电影| 91色视频在线| 成人在线视频首页| 美女视频网站黄色亚洲| 亚洲日本欧美天堂| 久久天天做天天爱综合色| 欧美亚洲综合另类| 成人免费高清在线| 日本不卡不码高清免费观看| 亚洲一区自拍偷拍| 日本一区二区三区高清不卡| 在线播放一区二区三区| 色综合天天综合网天天狠天天| 久久99精品国产91久久来源| 一区二区三区91| 国产日韩欧美综合一区| 久久蜜桃av一区精品变态类天堂 | 91久久精品国产91性色tv| 久色婷婷小香蕉久久|