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

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

?? mpse.c

?? Linux snort-2.4.4源代碼
?? C
字號:
/**  $Id$**   mpse.c*    *   An abstracted interface to the Multi-Pattern Matching routines,*   thats why we're passing 'void *' objects around.**   Copyright (C) 2002 SourceFire, Inc*   Marc A Norton <mnorton@sourcefire.com>***  ** This program is free software; you can redistribute it and/or modify** it under the terms of the GNU General Public License as published by** the Free Software Foundation; either version 2 of the License, or** (at your option) any later version.**** This program 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 General Public License for more details.**** You should have received a copy of the GNU General Public License** along with this program; if not, write to the Free Software** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.***/#ifdef HAVE_CONFIG_H#include "config.h"#endif#include "bitop.h"#include "mwm.h"#include "acsmx.h"#include "acsmx2.h"#include "sfksearch.h"#include "mpse.h"  static UINT64 s_bcnt=0;typedef struct _mpse_struct {  int    method;  void * obj;}MPSE;void * mpseNew( int method ){   MPSE * p;   p = (MPSE*)malloc( sizeof(MPSE) );   if( !p ) return NULL;   p->method=method;   p->obj   =NULL;   s_bcnt  =0;   switch( method )   {     case MPSE_AUTO:     case MPSE_MWM:	p->obj = mwmNew();        return (void*)p;     break;     case MPSE_AC:       p->obj = acsmNew();       return (void*)p;     break;     case MPSE_ACF:       p->obj = acsmNew2();       if(p->obj)acsmSelectFormat2((ACSM_STRUCT2*)p->obj,ACF_FULL  );       return (void*)p;     break;     case MPSE_ACS:       p->obj = acsmNew2();       if(p->obj)acsmSelectFormat2((ACSM_STRUCT2*)p->obj,ACF_SPARSE  );       return (void*)p;     break;     case MPSE_ACB:       p->obj = acsmNew2();       if(p->obj)acsmSelectFormat2((ACSM_STRUCT2*)p->obj,ACF_BANDED  );       return (void*)p;     break;     case MPSE_ACSB:       p->obj = acsmNew2();       if(p->obj)acsmSelectFormat2((ACSM_STRUCT2*)p->obj,ACF_SPARSEBANDS  );       return (void*)p;     break;     case MPSE_KTBM:     case MPSE_LOWMEM:	p->obj = KTrieNew();       return (void*)p;     break;           default:       return 0;     break;    }}void   mpseFree( void * pv ){  MPSE * p = (MPSE*)pv;   switch( p->method )   {     case MPSE_AC:       if(p->obj)acsmFree(p->obj);       free(p);       return ;     break;     case MPSE_ACF:     case MPSE_ACS:     case MPSE_ACB:     case MPSE_ACSB:       if(p->obj)acsmFree2(p->obj);       free(p);       return ;     break;     case MPSE_AUTO:     case MPSE_MWM:       if(p->obj)mwmFree( p->obj );       free( p );     break;     case MPSE_KTBM:     case MPSE_LOWMEM:       return ;     break;     default:       return ;     break;    }}int  mpseAddPattern ( void * pv, void * P, int m,              unsigned noCase,unsigned offset, unsigned depth,  void* ID, int IID ){  MPSE * p = (MPSE*)pv;  switch( p->method )   {     case MPSE_AC:       return acsmAddPattern( (ACSM_STRUCT*)p->obj, (unsigned char *)P, m,              noCase, offset, depth, ID, IID );     break;     case MPSE_ACF:     case MPSE_ACS:     case MPSE_ACB:     case MPSE_ACSB:       return acsmAddPattern2( (ACSM_STRUCT2*)p->obj, (unsigned char *)P, m,              noCase, offset, depth, ID, IID );     break;     case MPSE_MWM:       return mwmAddPatternEx( p->obj, (unsigned char *)P, m,               noCase, offset, depth, (void*)ID, IID );     break;     case MPSE_KTBM:     case MPSE_LOWMEM:       return KTrieAddPattern( (KTRIE_STRUCT *)p->obj, (unsigned char *)P, m,               noCase, ID );     break;      default:       return -1;     break;    }}void mpseLargeShifts   ( void * pv, int flag ){  MPSE * p = (MPSE*)pv;   switch( p->method )   {     case MPSE_AUTO:     case MPSE_MWM:       mwmLargeShifts( p->obj, flag );     break;           default:       return ;     break;    }}int  mpsePrepPatterns  ( void * pv ){  MPSE * p = (MPSE*)pv;  switch( p->method )   {     case MPSE_AC:       return acsmCompile( (ACSM_STRUCT*) p->obj);     break;     case MPSE_ACF:     case MPSE_ACS:     case MPSE_ACB:     case MPSE_ACSB:       return acsmCompile2( (ACSM_STRUCT2*) p->obj);     break;     case MPSE_AUTO:     case MPSE_MWM:       return mwmPrepPatterns( p->obj );     break;     case MPSE_KTBM:     case MPSE_LOWMEM:       return KTrieCompile( (KTRIE_STRUCT *)p->obj);     break;           default:       return 1;     break;    }}void mpseSetRuleMask ( void *pv, BITOP * rm ){  MPSE * p = (MPSE*)pv;  switch( p->method )   {     case MPSE_AUTO:     case MPSE_MWM:       mwmSetRuleMask( p->obj, rm );     break;          default:       return ;     break;    }}int mpsePrintDetail( void *pv ){  MPSE * p = (MPSE*)pv;  switch( p->method )   {     case MPSE_AC:      return acsmPrintDetailInfo( (ACSM_STRUCT*) p->obj );     break;     case MPSE_ACF:     case MPSE_ACS:     case MPSE_ACB:     case MPSE_ACSB:      return acsmPrintDetailInfo2( (ACSM_STRUCT2*) p->obj );      break;     case MPSE_AUTO:     case MPSE_MWM:      return 0;     break;     case MPSE_LOWMEM:       return 0;;     break;           default:       return 1;     break;    } return 0;}	int mpsePrintSummary( ){   acsmPrintSummaryInfo();   acsmPrintSummaryInfo2();   return 0;}	int mpseSearch( void *pv, unsigned char * T, int n,     int ( *action )(void*id, int index, void *data),     void * data ) {  MPSE * p = (MPSE*)pv;  s_bcnt += n;    switch( p->method )   {     case MPSE_AC:      return acsmSearch( (ACSM_STRUCT*) p->obj, T, n, action, data );     break;     case MPSE_ACF:     case MPSE_ACS:     case MPSE_ACB:     case MPSE_ACSB:      return acsmSearch2( (ACSM_STRUCT2*) p->obj, T, n, action, data );      break;     case MPSE_AUTO:     case MPSE_MWM:      return mwmSearch( p->obj, T, n, action, data );     break;     case MPSE_LOWMEM:       return  KTrieSearch( (KTRIE_STRUCT *)p->obj, T, n, action, data );     break;      default:       return 1;     break;    }}UINT64 mpseGetPatByteCount( ){  return s_bcnt; }void mpseResetByteCount( ){    s_bcnt = 0;} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色偷偷大香| 亚洲精品国产视频| 日韩毛片视频在线看| 日韩va欧美va亚洲va久久| 92精品国产成人观看免费| 日韩女同互慰一区二区| 亚洲美女少妇撒尿| 欧美日韩免费观看一区二区三区| 欧美精品一区视频| 五月天精品一区二区三区| 97久久精品人人做人人爽| 久久亚洲精精品中文字幕早川悠里 | 成人av在线一区二区| 日韩一区二区精品葵司在线| 一卡二卡欧美日韩| 99久久综合狠狠综合久久| 国产色产综合产在线视频| 久久精品99久久久| 欧美一区二区视频在线观看| 丝袜脚交一区二区| 欧美日韩你懂的| 亚洲精品中文字幕在线观看| 91影院在线观看| 亚洲欧美在线观看| av电影天堂一区二区在线观看| 中文字幕免费一区| 东方欧美亚洲色图在线| 中文字幕不卡在线播放| 国产成人免费高清| 国产香蕉久久精品综合网| 国产精品夜夜爽| 国产精品久久久久久久久免费相片| 国产福利一区二区三区视频| 久久精品免费在线观看| 国产69精品久久99不卡| 中文乱码免费一区二区| yourporn久久国产精品| 国产精品国产三级国产有无不卡| 不卡的av电影| 亚洲精品一卡二卡| 欧美日韩激情一区二区| 久久精品国产亚洲a| 久久青草国产手机看片福利盒子| 久久99精品国产麻豆婷婷洗澡| 国产偷国产偷精品高清尤物| 成人毛片老司机大片| 亚洲男人的天堂一区二区| 欧美在线播放高清精品| 日本不卡一区二区三区| 久久久久一区二区三区四区| 成人一级片在线观看| 亚洲精品成a人| 91麻豆精品国产自产在线观看一区 | 精品国产一区二区三区久久久蜜月 | 成人app软件下载大全免费| 亚洲欧洲一区二区在线播放| 欧美午夜宅男影院| 日本成人中文字幕| 国产午夜精品一区二区三区四区| 91丨国产丨九色丨pron| 国产麻豆91精品| 亚洲欧美另类图片小说| 欧美放荡的少妇| 国产精品12区| 亚洲国产美女搞黄色| 久久亚洲综合av| 色综合咪咪久久| 国产在线精品免费| 国产精品女主播av| 欧美一区二区久久| 99天天综合性| 激情综合色综合久久| 亚洲男人天堂av网| 精品成人在线观看| 日本久久精品电影| 国产伦精一区二区三区| 亚洲一区欧美一区| 国产精品女主播在线观看| 91精品国产综合久久精品| 播五月开心婷婷综合| 久久国产三级精品| 亚洲午夜国产一区99re久久| 国产精品美女久久久久久久久| 欧美另类变人与禽xxxxx| 成人黄色免费短视频| 麻豆一区二区在线| 亚洲国产欧美在线| 亚洲色图色小说| 国产午夜一区二区三区| 精品国产乱码91久久久久久网站| 在线观看成人免费视频| www.亚洲精品| 国产激情视频一区二区三区欧美 | 欧美精品第一页| 91看片淫黄大片一级在线观看| 国产精品自产自拍| 韩国v欧美v亚洲v日本v| 青青草国产精品97视觉盛宴| 亚洲影院在线观看| 亚洲精品综合在线| 亚洲色图制服诱惑 | 日韩在线卡一卡二| 亚洲成人福利片| 亚洲图片欧美综合| 亚洲女与黑人做爰| 亚洲精品日产精品乱码不卡| 亚洲欧洲av在线| 一区二区中文字幕在线| 中文字幕欧美一区| 日韩一区中文字幕| 1024成人网色www| 日韩一区在线免费观看| 1024国产精品| 亚洲一区在线观看免费| 亚洲gay无套男同| 亚洲国产一区视频| 日韩和欧美的一区| 日韩成人精品在线| 久久福利视频一区二区| 国产制服丝袜一区| 成人激情黄色小说| 91在线你懂得| 欧美羞羞免费网站| 91精品久久久久久久99蜜桃| 综合久久久久综合| 一区二区三区**美女毛片| 亚洲线精品一区二区三区| 视频在线在亚洲| 免费成人在线网站| 国产成人亚洲综合a∨婷婷图片| 成人天堂资源www在线| 色偷偷久久人人79超碰人人澡 | 日韩精品一区二区三区四区| 久久夜色精品国产噜噜av| 国产女人18毛片水真多成人如厕| 国产精品乱人伦| 亚洲综合色视频| 久久99精品久久久久久动态图| 国产成人h网站| 日本精品免费观看高清观看| 欧美喷潮久久久xxxxx| 久久这里只有精品6| 亚洲日本va午夜在线影院| 日日夜夜精品视频免费| 国内欧美视频一区二区| 精品国产伦一区二区三区免费 | 免费在线观看成人| 蜜桃久久av一区| 国产精品亚洲人在线观看| 日av在线不卡| 国产乱淫av一区二区三区| 成人av电影在线| 成人免费观看av| 久久精品视频一区二区三区| 日韩免费看的电影| 亚洲黄色免费网站| 午夜精品福利视频网站| 国产一区二区免费视频| 91黄色免费看| 久久综合久久综合久久| 亚洲国产成人av网| 成人午夜激情视频| 欧美妇女性影城| 亚洲精品videosex极品| 国产精品一级在线| 91精品国产品国语在线不卡| 国产精品网站一区| 免费成人av资源网| 91视频免费播放| 亚洲国产cao| 成人国产精品免费网站| 欧美一卡2卡三卡4卡5免费| 亚洲免费在线观看| 国产精品亚洲第一区在线暖暖韩国| 欧美吞精做爰啪啪高潮| 中国av一区二区三区| 国内精品久久久久影院薰衣草| 欧美高清视频一二三区| 成人欧美一区二区三区小说| 国精产品一区一区三区mba视频| 欧美日韩中文字幕一区| 亚洲少妇最新在线视频| 福利电影一区二区| 久久先锋资源网| 激情六月婷婷久久| 精品区一区二区| 麻豆精品视频在线观看视频| 欧美另类z0zxhd电影| 亚洲影视在线观看| 91国内精品野花午夜精品| 亚洲天堂成人在线观看| 91视频一区二区| 亚洲日本青草视频在线怡红院 | 国产亚洲欧美中文| 精品一区二区三区在线播放| 欧美一区二区视频观看视频| 午夜精品久久久| 欧美日韩国产精选| 日韩黄色免费电影| 91麻豆精品久久久久蜜臀|