suricata
output-filedata.c File Reference
#include "suricata-common.h"
#include "output.h"
#include "output-filedata.h"
#include "app-layer-parser.h"
#include "detect-filemagic.h"
#include "conf.h"
#include "util-profiling.h"
#include "util-validate.h"
#include "util-magic.h"
#include "util-path.h"
Include dependency graph for output-filedata.c:

Go to the source code of this file.

Data Structures

struct  OutputFiledataLogger_
 

Typedefs

typedef struct OutputFiledataLogger_ OutputFiledataLogger
 

Functions

int SCOutputRegisterFiledataLogger (LoggerId id, const char *name, SCFiledataLogger LogFunc, void *initdata, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit)
 Register a file-data logger.
 
 SC_ATOMIC_DECLARE (unsigned int, g_file_store_id)
 
void OutputFiledataLogFfc (ThreadVars *tv, OutputFiledataLoggerThreadData *td, Packet *p, AppLayerGetFileState files, void *txv, const uint64_t tx_id, AppLayerTxData *txd, const uint8_t call_flags, const bool file_close, const bool file_trunc, const uint8_t dir)
 
TmEcode OutputFiledataLogThreadInit (ThreadVars *tv, OutputFiledataLoggerThreadData **data)
 thread init for the filedata logger This will run the thread init functions for the individual registered loggers
 
TmEcode OutputFiledataLogThreadDeinit (ThreadVars *tv, OutputFiledataLoggerThreadData *op_thread_data)
 
void OutputFiledataLoggerRegister (void)
 
void OutputFiledataShutdown (void)
 

Variables

bool g_filedata_logger_enabled = false
 

Detailed Description

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

AppLayer Filedata Logger Output registration functions

Definition in file output-filedata.c.

Typedef Documentation

◆ OutputFiledataLogger

Function Documentation

◆ OutputFiledataLogFfc()

void OutputFiledataLogFfc ( ThreadVars tv,
OutputFiledataLoggerThreadData td,
Packet p,
AppLayerGetFileState  files,
void *  txv,
const uint64_t  tx_id,
AppLayerTxData txd,
const uint8_t  call_flags,
const bool  file_close,
const bool  file_trunc,
const uint8_t  dir 
)

◆ OutputFiledataLoggerRegister()

void OutputFiledataLoggerRegister ( void  )

Definition at line 269 of file output-filedata.c.

References SC_ATOMIC_INIT, and SC_ATOMIC_SET.

Referenced by OutputRegisterRootLoggers().

Here is the caller graph for this function:

◆ OutputFiledataLogThreadDeinit()

◆ OutputFiledataLogThreadInit()

TmEcode OutputFiledataLogThreadInit ( ThreadVars tv,
OutputFiledataLoggerThreadData **  data 
)

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

Definition at line 198 of file output-filedata.c.

References BUG_ON, OutputFiledataLogger_::initdata, OutputFiledataLogger_::name, OutputFiledataLogger_::next, OutputLoggerThreadStore_::next, SCCalloc, SCFree, SCLogDebug, OutputFiledataLoggerThreadData_::store, OutputFiledataLogger_::ThreadInit, TM_ECODE_FAILED, TM_ECODE_OK, ts, and tv.

◆ OutputFiledataShutdown()

void OutputFiledataShutdown ( void  )

Definition at line 275 of file output-filedata.c.

References OutputFiledataLogger_::next, and SCFree.

Referenced by RunModeShutDown().

Here is the caller graph for this function:

◆ SC_ATOMIC_DECLARE()

SC_ATOMIC_DECLARE ( unsigned int  ,
g_file_store_id   
)

◆ SCOutputRegisterFiledataLogger()

int SCOutputRegisterFiledataLogger ( LoggerId  id,
const char *  name,
SCFiledataLogger  LogFunc,
void *  initdata,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit 
)

Register a file-data logger.

Parameters
logger_idAn ID used to distinguish this logger from others while profiling.
nameAn informational name for this logger. Used only for debugging.
LogFuncA function that will be called to log each file-data.
initdataInitialization data that will pass to the ThreadInitFunc.
ThreadInitFuncThread initialization function.
ThreadDeinitFuncThread de-initialization function.
Return values
0on success, -1 on failure.

Definition at line 54 of file output-filedata.c.

References g_filedata_logger_enabled, id, OutputFiledataLogger_::initdata, OutputFiledataLogger_::LogFunc, OutputFiledataLogger_::logger_id, OutputFiledataLogger_::name, name, OutputFiledataLogger_::next, SCCalloc, SCLogDebug, OutputFiledataLogger_::ThreadDeinit, and OutputFiledataLogger_::ThreadInit.

Variable Documentation

◆ g_filedata_logger_enabled

bool g_filedata_logger_enabled = false