⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 str_search.c

📁 Linux snort-2.4.4源代码
💻 C
字号:
/* * Copyright (C) 2005 Sourcefire,Inc. */#include <stdlib.h>#include "str_search.h"#include "mpse.h"typedef struct tag_search{    void *mpse;    unsigned int max_len;} t_search;static t_search *_mpse = NULL;static unsigned int  _num_mpse;int SearchInit(unsigned int num){    unsigned int i;    _num_mpse = num;    _mpse = malloc(sizeof(t_search) * num);    if ( _mpse == NULL )        return -1;    for ( i = 0; i < num; i++ )    {        _mpse[i].mpse = mpseNew(MPSE_AC);        _mpse[i].max_len = 0;    }    return 0;}void SearchFree(){    unsigned int i;    if ( _mpse != NULL )    {        for ( i = 0; i < _num_mpse; i++ )        {            if ( _mpse[i].mpse != NULL )                mpseFree(_mpse[i].mpse);        }        free(_mpse);    }}/*  Do efficient search of data */int SearchFindString(unsigned int mpse_id, char *str, int str_len, int (*Match) (void *, int, void *)){    int num;    if ( str_len == 0 )        str_len = _mpse[mpse_id].max_len;    num = mpseSearch(_mpse[mpse_id].mpse, str, str_len, Match, (void *) str);        return num;}void SearchAdd(unsigned int mpse_id, char *pat, int id){    unsigned int len = strlen(pat);    mpseAddPattern(_mpse[mpse_id].mpse, pat, len, 1, 0, 0, (void *)(long) id, 0);    if ( len > _mpse[mpse_id].max_len )        _mpse[mpse_id].max_len = len;}void SearchPrepPatterns(unsigned int mpse_id){    mpsePrepPatterns(_mpse[mpse_id].mpse);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -