suricata
output-flow.c File Reference
#include "suricata-common.h"
#include "tm-modules.h"
#include "output-flow.h"
#include "util-profiling.h"
#include "util-validate.h"
Include dependency graph for output-flow.c:

Go to the source code of this file.

Data Structures

struct  OutputLoggerThreadStore_
 
struct  OutputLoggerThreadData_
 
struct  OutputFlowLogger_
 

Typedefs

typedef struct OutputLoggerThreadStore_ OutputLoggerThreadStore
 
typedef struct OutputLoggerThreadData_ OutputLoggerThreadData
 
typedef struct OutputFlowLogger_ OutputFlowLogger
 

Functions

int OutputRegisterFlowLogger (const char *name, FlowLogger LogFunc, OutputCtx *output_ctx, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 
TmEcode OutputFlowLog (ThreadVars *tv, void *thread_data, Flow *f)
 Run flow logger(s) More...
 
TmEcode OutputFlowLogThreadInit (ThreadVars *tv, void *initdata, void **data)
 thread init for the flow logger This will run the thread init functions for the individual registered loggers More...
 
TmEcode OutputFlowLogThreadDeinit (ThreadVars *tv, void *thread_data)
 
void OutputFlowLogExitPrintStats (ThreadVars *tv, void *thread_data)
 
void OutputFlowShutdown (void)
 

Detailed Description

Author
Victor Julien victo.nosp@m.r@in.nosp@m.linia.nosp@m.c.ne.nosp@m.t

Flow Logger Output registration functions

Definition in file output-flow.c.

Typedef Documentation

per thread data for this module, contains a list of per thread data for the packet loggers.

Function Documentation

TmEcode OutputFlowLog ( ThreadVars tv,
void *  thread_data,
Flow f 
)

Run flow logger(s)

Note
flow is already write locked

Definition at line 91 of file output-flow.c.

References DEBUG_VALIDATE_BUG_ON, OutputFlowLogger_::LogFunc, OutputLoggerThreadStore_::next, OutputFlowLogger_::next, SCLogDebug, OutputLoggerThreadData_::store, OutputLoggerThreadStore_::thread_data, and TM_ECODE_OK.

Referenced by FlowGetFlowFromHash().

Here is the caller graph for this function:

void OutputFlowLogExitPrintStats ( ThreadVars tv,
void *  thread_data 
)
TmEcode OutputFlowLogThreadDeinit ( ThreadVars tv,
void *  thread_data 
)
TmEcode OutputFlowLogThreadInit ( ThreadVars tv,
void *  initdata,
void **  data 
)

thread init for the flow logger This will run the thread init functions for the individual registered loggers

Definition at line 129 of file output-flow.c.

References BUG_ON, OutputFlowLogger_::name, OutputLoggerThreadStore_::next, OutputFlowLogger_::next, OutputFlowLogger_::output_ctx, SCLogDebug, SCMalloc, OutputLoggerThreadData_::store, OutputLoggerThreadStore_::thread_data, OutputFlowLogger_::ThreadInit, TM_ECODE_FAILED, TM_ECODE_OK, and ts.

Referenced by DecodeThreadVarsAlloc().

Here is the caller graph for this function:

void OutputFlowShutdown ( void  )

Definition at line 208 of file output-flow.c.

References OutputFlowLogger_::next, and SCFree.

Referenced by RunModeShutDown().

Here is the caller graph for this function:

int OutputRegisterFlowLogger ( const char *  name,
FlowLogger  LogFunc,
OutputCtx ,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

packet logger condition function pointer type, must return true for packets that should be logged

Definition at line 58 of file output-flow.c.

References OutputFlowLogger_::LogFunc, OutputFlowLogger_::name, OutputFlowLogger_::next, OutputFlowLogger_::output_ctx, SCLogDebug, SCMalloc, OutputFlowLogger_::ThreadDeinit, OutputFlowLogger_::ThreadExitPrintStats, and OutputFlowLogger_::ThreadInit.

Referenced by RunModeShutDown().

Here is the caller graph for this function: