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

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

?? rtpiptable.cpp

?? 利用rtp庫實(shí)現(xiàn)實(shí)時語音傳送
?? CPP
字號:
/*  This file is a part of JRTPLIB  Copyright (c) 1999-2004 Jori Liesenborgs  Contact: jori@lumumba.luc.ac.be  This library (JRTPLIB) was partially developed for my thesis at the  School for Knowledge Technology (Belgium/The Netherlands)  Permission is hereby granted, free of charge, to any person obtaining a  copy of this software and associated documentation files (the "Software"),  to deal in the Software without restriction, including without limitation  the rights to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell copies of the Software, and to permit persons to whom the  Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included  in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS  IN THE SOFTWARE.*/#include "rtpiptable.h"#include "rtperror.h"#include <stdlib.h>/* Definition of table member struct */struct RTPIPTableMember{	unsigned long ip;	bool allports;	int port;	RTPIPTableMember *next;};/* Class implementation */RTPIPTable::RTPIPTable(){	int i;	for (i = 0 ; i < RTP_IPTABLE_HASHSIZE ; i++)		table[i] = NULL;}RTPIPTable::~RTPIPTable(){	Clear();}int RTPIPTable::Add(unsigned long ip,bool allports,int port){	int index;	RTPIPTableMember *tmp,*tmpprev,*tmpnext;	bool done;	if (allports)		port = 0;	else	{		if (port <= 0)			return ERR_RTP_ILLEGALPORT;	}	index = (int)(ip%((unsigned long)RTP_IPTABLE_HASHSIZE));	if (table[index] == NULL)	{		tmp = new RTPIPTableMember;		if (tmp == NULL)			return ERR_RTP_OUTOFMEM;		table[index] = tmp;		tmp->next = NULL;	}	else // already entries in the hashtable	{		// sort on ip		tmpprev = NULL;		tmp = table[index];		done = false;		while (!done)		{			if (tmp == NULL)				done = true;			else			{				if (ip > tmp->ip)				{					tmpprev = tmp;					tmp = tmp->next;				}				else					done = true;			}		}		if (tmp != NULL)		{			if (tmp->ip == ip) // same ip address			{				// sort on portnum								done = false;					while (!done)				{					if (tmp == NULL)						done = true;					else					{						if (port > tmp->port && ip == tmp->ip)						{							tmpprev = tmp;							tmp = tmp->next;						}						else							done = true;					}				}				if (tmp != NULL && tmp->port == port && tmp->allports == allports && tmp->ip == ip)					return ERR_RTP_IPTABLEENTRYEXISTS;			}		}		if (tmp == NULL)		{			tmp = new RTPIPTableMember;			if (tmp == NULL)				return ERR_RTP_OUTOFMEM;			tmp->next = NULL;			tmpprev->next = tmp;		}		else		{			if (tmpprev == NULL)			{				tmp = new RTPIPTableMember;				if (tmp == NULL)					return ERR_RTP_OUTOFMEM;				tmp->next = table[index];				table[index] = tmp;			}			else			{				tmpnext = tmp;				tmp = new RTPIPTableMember;				if (tmp == NULL)					return ERR_RTP_OUTOFMEM;				tmp->next = tmpnext;				tmpprev->next = tmp;			}		}	}	tmp->allports = allports;	tmp->ip = ip;	tmp->port = port;	return 0;}int RTPIPTable::Delete(unsigned long ip,bool allports,int port){	int index;	RTPIPTableMember *tmp,*tmpprev,*tmpnext;	bool done;	if (allports)		port = 0;	else	{		if (port <= 0)			return ERR_RTP_ILLEGALPORT;	}	index = (int)(ip%((unsigned long)RTP_IPTABLE_HASHSIZE));	if (table[index] == NULL)		return ERR_RTP_IPTABLEENTRYDOESNTEXIST;	/* Search for the right IP */		tmpprev = NULL;	tmp = table[index];	done = false;	while (!done)	{		if (tmp == NULL)			done = true;		else		{			if (ip > tmp->ip)			{				tmpprev = tmp;				tmp = tmp->next;			}			else				done = true;		}	}	if (tmp == NULL)		return ERR_RTP_IPTABLEENTRYDOESNTEXIST;	if (tmp->ip != ip)		return ERR_RTP_IPTABLEENTRYDOESNTEXIST;		/* search for the right port */		done = false;		while (!done)	{		if (tmp == NULL)			done = true;		else		{			if (port > tmp->port && ip == tmp->ip)			{				tmpprev = tmp;				tmp = tmp->next;			}			else				done = true;		}	}	if (tmp == NULL)		return ERR_RTP_IPTABLEENTRYDOESNTEXIST;	if ( !(tmp->port == port && tmp->allports == allports && tmp->ip == ip))		return ERR_RTP_IPTABLEENTRYDOESNTEXIST;	tmpnext = tmp->next;	if (tmpprev == NULL)		table[index] = tmpnext;	else		tmpprev->next = tmpnext;	delete tmp;	return 0;}bool RTPIPTable::Exists(unsigned long ip,bool allports,int port){	int index;	RTPIPTableMember *tmp;	bool done;	if (allports)		port = 0;	else	{		if (port <= 0)			return false;	}	index = (int)(ip%((unsigned long)RTP_IPTABLE_HASHSIZE));	if (table[index] == NULL)		return false;	/* Search for the right IP */		tmp = table[index];	done = false;	while (!done)	{		if (tmp == NULL)			done = true;		else		{			if (ip > tmp->ip)				tmp = tmp->next;			else				done = true;		}	}	if (tmp == NULL)		return false;	if (tmp->ip != ip)		return false;		/* search for the right port */		done = false;		while (!done)	{		if (tmp == NULL)			done = true;		else		{			if (port > tmp->port && ip == tmp->ip)				tmp = tmp->next;			else				done = true;		}	}	if (tmp == NULL)		return false;	if ( !(tmp->port == port && tmp->allports == allports && tmp->ip == ip))		return false;	return true;}void RTPIPTable::Clear(){	int i;	RTPIPTableMember *tmp,*tmp2;	for (i = 0 ; i < RTP_IPTABLE_HASHSIZE ; i++)	{		tmp = table[i];		while (tmp != NULL)		{			tmp2 = tmp->next;			delete tmp;			tmp = tmp2;		}		table[i] = NULL;	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色域天天综合网| 亚洲国产一区在线观看| 国产v日产∨综合v精品视频| 久久久久亚洲蜜桃| 成人免费视频caoporn| 中文字幕一区二| 色94色欧美sute亚洲13| 午夜精品一区二区三区三上悠亚| 日本高清不卡一区| 亚洲一区在线观看免费观看电影高清 | 欧美视频中文字幕| 一卡二卡欧美日韩| 欧美一区二区三区色| 国产精品18久久久久| 日韩毛片在线免费观看| 欧美日韩mp4| 韩国女主播成人在线观看| 国产精品久久久久久久久搜平片| 欧美性色综合网| 国产一区欧美二区| 亚洲九九爱视频| 91精品久久久久久蜜臀| 成人一区二区在线观看| 偷拍一区二区三区| 国产亚洲婷婷免费| 欧美久久婷婷综合色| 国产精品综合一区二区| 一区二区日韩av| 久久午夜电影网| 欧美色国产精品| 成人午夜av影视| 奇米影视一区二区三区| 亚洲欧洲日产国产综合网| 日韩一区二区中文字幕| youjizz久久| 麻豆精品新av中文字幕| 一个色在线综合| 中文字幕不卡在线播放| 日韩欧美国产综合| 欧洲一区二区三区在线| 国产成人av一区二区三区在线 | 日韩一区二区三区av| 91麻豆国产精品久久| 国产一区二区调教| 午夜电影久久久| 亚洲人成在线观看一区二区| 久久久久久久精| 日韩一区二区在线免费观看| 在线观看亚洲a| 国产69精品久久777的优势| 日本最新不卡在线| 亚洲亚洲精品在线观看| 国产精品久久久久影视| 久久色在线视频| 日韩亚洲欧美在线| 欧美精品日韩综合在线| 色拍拍在线精品视频8848| 成人少妇影院yyyy| 国产精品香蕉一区二区三区| 久久疯狂做爰流白浆xx| 免费人成在线不卡| 偷拍日韩校园综合在线| 亚洲制服丝袜av| 亚洲人成小说网站色在线 | 色香蕉久久蜜桃| av一区二区三区黑人| 成人一级片在线观看| 国产精品综合视频| 国产自产v一区二区三区c| 免费的成人av| 毛片av一区二区| 久久成人免费电影| 久久成人麻豆午夜电影| 蜜臀久久99精品久久久久久9 | 久久综合九色综合欧美98| 欧美一区二区视频观看视频| 欧美精品第1页| 91精品中文字幕一区二区三区| 欧美色欧美亚洲另类二区| 欧美亚洲一区二区三区四区| 欧美午夜一区二区| 欧美一区三区二区| 日韩欧美一区二区在线视频| 欧美xxxxx牲另类人与| 欧美电影免费观看高清完整版在线观看 | 91视频www| 色天天综合久久久久综合片| 欧美三级中文字幕| 69堂国产成人免费视频| 精品久久久久久久久久久久久久久| 日韩写真欧美这视频| 26uuu亚洲| 亚洲视频你懂的| 一区二区三区免费看视频| 亚洲6080在线| 久久爱www久久做| 成人h动漫精品一区二区| 不卡视频一二三四| 欧美日韩一级片网站| 欧美一区二区在线免费播放| 久久亚洲精华国产精华液| 国产精品免费看片| 亚洲第一福利视频在线| 麻豆精品久久久| 国产福利一区二区三区视频在线| eeuss影院一区二区三区 | 国产在线国偷精品产拍免费yy | 美国三级日本三级久久99| 国产福利一区二区三区视频在线| 91婷婷韩国欧美一区二区| 欧美日韩国产美| 欧美精品一区二区三区四区| 亚洲精品v日韩精品| 日本不卡免费在线视频| 成人av一区二区三区| 91精品一区二区三区久久久久久| 国产日韩欧美激情| 亚洲一区二区三区四区五区中文 | 亚洲国产精品影院| 激情久久五月天| 日本高清成人免费播放| 久久蜜桃av一区二区天堂| 一区二区三区欧美久久| 国产精品自产自拍| 欧美日韩不卡在线| 综合欧美亚洲日本| 国产资源精品在线观看| 欧美午夜精品理论片a级按摩| 日韩精品一区二区三区在线观看 | 欧美激情中文不卡| 视频一区视频二区中文字幕| 成av人片一区二区| 精品成人一区二区三区| 一区二区三区在线视频免费观看 | 蜜臀av性久久久久av蜜臀妖精| 国模少妇一区二区三区| 欧美专区日韩专区| 国产精品乱子久久久久| 久久不见久久见免费视频7| 欧美日韩你懂的| 亚洲欧美日韩电影| 国产99久久精品| 欧美成人激情免费网| 亚洲国产成人高清精品| 99久久婷婷国产综合精品电影| 国产日韩欧美激情| 九色|91porny| 日韩视频永久免费| 日本成人在线视频网站| 欧美午夜精品久久久久久孕妇| 中文字幕一区二| caoporen国产精品视频| 中文字幕第一区二区| 国产乱妇无码大片在线观看| 日韩一级黄色大片| 午夜欧美2019年伦理| 91在线国内视频| 国产精品美女久久久久久久久| 国产在线视视频有精品| 欧美大片一区二区| 久久国产麻豆精品| 日韩一区二区电影在线| 麻豆国产一区二区| 欧美成人伊人久久综合网| 久久国产夜色精品鲁鲁99| 精品日韩av一区二区| 久久精品免费看| 精品国产乱码久久久久久浪潮| 另类成人小视频在线| 精品国产亚洲在线| 国产在线观看免费一区| 国产偷国产偷亚洲高清人白洁| 国产69精品久久777的优势| 国产精品免费人成网站| 99v久久综合狠狠综合久久| 日韩毛片精品高清免费| 欧美午夜免费电影| 日本欧美大码aⅴ在线播放| 日韩亚洲欧美一区| 国产成人综合精品三级| 国产精品久久久久一区二区三区共| 不卡一区二区中文字幕| 亚洲在线免费播放| 欧美一级在线免费| 国产麻豆91精品| 亚洲嫩草精品久久| 欧美一级免费大片| 国产一区二区三区黄视频| 国产精品久久网站| 欧美日韩中文字幕一区| 免费一级片91| 国产日韩精品一区二区三区| 色香蕉成人二区免费| 日韩成人免费在线| 久久亚洲春色中文字幕久久久| av成人动漫在线观看| 亚欧色一区w666天堂| 久久久亚洲精品一区二区三区 | 成人教育av在线| 亚洲一二三专区|