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

📄 perf-event.c

📁 著名的入侵检测系统snort的最新版本的源码
💻 C
字号:
/***  $Id$****  perf-event.c****  Copyright (C) 2002 Sourcefire,Inc**  Marc Norton <mnorton@sourcefire.com>**  Dan Roelker <droelker@sourcefire.com>****  NOTES**  5.28.02 - Initial Source Code. Norton/Roelker******  This program is free software; you can redistribute it and/or modify**  it under the terms of the GNU General Public License Version 2 as**  published by the Free Software Foundation.  You may not use, modify or**  distribute this program under any other version of the GNU General**  Public License.****  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.***/#include "snort.h"#include "util.h"int DisplayEventPerfStats(SFEVENT_STATS *sfEventStats);SFEVENT *GetEventPtr() { return &sfPerf.sfEvent; }int InitEventStats(SFEVENT *sfEvent){    sfEvent->NQEvents = 0;    sfEvent->QEvents  = 0;    return 0;}int UpdateNQEvents(){    SFEVENT *sfEvent = GetEventPtr();    if(!(sfPerf.iPerfFlags & SFPERF_EVENT))    {        return 0;    }    sfEvent->NQEvents++;    sfEvent->TotalEvents++;    return 0;}int UpdateQEvents(){    SFEVENT *sfEvent = GetEventPtr();    if(!(sfPerf.iPerfFlags & SFPERF_EVENT))    {        return 0;    }    sfEvent->QEvents++;    sfEvent->TotalEvents++;    return 0;}int ProcessEventStats(SFEVENT *sfEvent){    SFEVENT_STATS sfEventStats;    sfEventStats.NQEvents = sfEvent->NQEvents;    sfEventStats.QEvents = sfEvent->QEvents;    sfEventStats.TotalEvents = sfEvent->TotalEvents;    if(sfEvent->TotalEvents)    {        sfEventStats.NQPercent = 100.0 * (double)sfEvent->NQEvents /                                  (double)sfEvent->TotalEvents;        sfEventStats.QPercent  = 100.0 * (double)sfEvent->QEvents /                                  (double)sfEvent->TotalEvents;    }    else    {        sfEventStats.NQPercent = 0;        sfEventStats.QPercent = 0;    }    sfEvent->NQEvents    = 0;    sfEvent->QEvents     = 0;    sfEvent->TotalEvents = 0;    DisplayEventPerfStats(&sfEventStats);    return 0;}int DisplayEventPerfStats(SFEVENT_STATS *sfEventStats){    LogMessage("\n\nSnort Setwise Event Stats\n");    LogMessage(    "-------------------------\n");    LogMessage( "Total Events:           " STDu64 "\n", sfEventStats->TotalEvents);    LogMessage( "Qualified Events:       " STDu64 "\n", sfEventStats->QEvents);    LogMessage( "Non-Qualified Events:   " STDu64 "\n", sfEventStats->NQEvents);    LogMessage("%%Qualified Events:      %.4f%%\n", sfEventStats->QPercent);    LogMessage("%%Non-Qualified Events:  %.4f%%\n", sfEventStats->NQPercent);    return 0;}    

⌨️ 快捷键说明

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