Go to the documentation of this file.
24 #ifndef SURICATA_OUTPUT_H
25 #define SURICATA_OUTPUT_H
30 #define DEFAULT_LOG_MODE_APPEND "yes"
31 #define DEFAULT_LOG_FILETYPE "regular"
106 const char *name,
const char *conf_name,
117 const char *parent_name,
const char *name,
const char *conf_name,
125 TxLogger TxLogFunc,
int tc_log_progress,
int ts_log_progress,
129 const char *name,
const char *conf_name,
131 int tc_log_progress,
int ts_log_progress,
ThreadInitFunc ThreadInit,
136 const char *name,
const char *conf_name,
162 const char *name,
const char *conf_name,
void OutputRegisterTxModule(LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a tx output module.
void OutputRegisterFileSubModule(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, FileLogger FileLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a file output sub-module.
void OutputRegisterPacketSubModule(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, PacketLogger LogFunc, PacketLogCondition ConditionFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a packet output sub-module.
void OutputRegisterTxSubModuleWithProgress(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, int tc_log_progress, int ts_log_progress, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
TmEcode(* OutputLogFunc)(ThreadVars *, Packet *, void *)
TmEcode OutputLoggerThreadInit(ThreadVars *, const void *, void **)
typedef TAILQ_HEAD(OutputModuleList_, OutputModule_) OutputModuleList
void OutputRegisterRootLogger(ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats, OutputLogFunc LogFunc, OutputGetActiveCountFunc ActiveCntFunc)
struct OutputModule_ OutputModule
struct OutputInitResult_ OutputInitResult
StreamingLogger StreamingLogFunc
int(* StreamingLogger)(ThreadVars *, void *thread_data, const Flow *f, const uint8_t *data, uint32_t data_len, uint64_t tx_id, uint8_t flags)
struct OutputLoggerThreadStore_ * next
TAILQ_ENTRY(OutputModule_) entries
int(* TxLogger)(ThreadVars *, void *thread_data, const Packet *, Flow *f, void *state, void *tx, uint64_t tx_id)
int(* FlowLogger)(ThreadVars *, void *thread_data, Flow *f)
void OutputRegisterFiledataModule(LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, FiledataLogger FiledataLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a file data output module.
int(* PacketLogger)(ThreadVars *, void *thread_data, const Packet *)
OutputInitSubFunc InitSubFunc
OutputModule * OutputGetModuleByConfName(const char *name)
Get an output module by name.
void OutputRegisterPacketModule(LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, PacketLogger LogFunc, PacketLogCondition ConditionFunc, ThreadInitFunc, ThreadDeinitFunc, ThreadExitPrintStatsFunc)
Register a packet output module.
void OutputRegisterStatsSubModule(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, StatsLogger StatsLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a stats data output sub-module.
PacketLogger PacketLogFunc
TmEcode OutputLoggerLog(ThreadVars *, Packet *, void *)
bool(* EveJsonSimpleTxLogFunc)(void *, struct JsonBuilder *)
void OutputDeregisterAll(void)
Deregister all modules. Useful for a memory clean exit.
enum OutputStreamingType stream_type
void OutputRegisterStatsModule(LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, StatsLogger StatsLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a stats data output module.
void OutputRegisterTxSubModuleWithCondition(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, TxLoggerCondition TxLogCondition, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
ThreadInitFunc ThreadInit
EveJsonSimpleAppLayerLogger * SCEveJsonSimpleGetLogger(AppProto alproto)
OutputModuleList output_modules
OutputInitResult(* OutputInitSubFunc)(ConfNode *, OutputCtx *)
void OutputDropLoggerDisable(void)
FiledataLogger FiledataLogFunc
int(* FileLogger)(ThreadVars *, void *thread_data, const Packet *, const File *, void *tx, const uint64_t tx_id, uint8_t direction)
void OutputRegisterTxModuleWithProgress(LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, int tc_log_progress, int ts_log_progress, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a tx output module with progress.
int(* FiledataLogger)(ThreadVars *, void *thread_data, const Packet *, File *, void *tx, const uint64_t tx_id, const uint8_t *, uint32_t, uint8_t, uint8_t dir)
ThreadDeinitFunc ThreadDeinit
void OutputRegisterModule(const char *, const char *, OutputInitFunc)
Per thread variable structure.
TmEcode(* ThreadInitFunc)(ThreadVars *, const void *, void **)
void OutputRegisterStreamingModule(LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, StreamingLogger StreamingLogFunc, enum OutputStreamingType stream_type, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a streaming data output module.
struct OutputLoggerThreadStore_ OutputLoggerThreadStore
void OutputUnregisterFileRotationFlag(int *flag)
Unregister a file rotation flag.
struct EveJsonSimpleAppLayerLogger EveJsonSimpleAppLayerLogger
void OutputRegisterFlowSubModule(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, FlowLogger FlowLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a flow output sub-module.
void TmModuleLoggerRegister(void)
void OutputClearActiveLoggers(void)
ThreadExitPrintStatsFunc ThreadExitPrintStats
bool(* TxLoggerCondition)(ThreadVars *, const Packet *, void *state, void *tx, uint64_t tx_id)
int OutputDropLoggerEnable(void)
TxLoggerCondition TxLogCondition
EveJsonSimpleTxLogFunc LogTx
void(* ThreadExitPrintStatsFunc)(ThreadVars *, void *)
void OutputRegisterTxModuleWithCondition(LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, TxLoggerCondition TxLogCondition, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a tx output module with condition.
TmEcode OutputLoggerThreadDeinit(ThreadVars *, void *)
bool(* PacketLogCondition)(ThreadVars *, void *thread_data, const Packet *)
PacketLogCondition PacketConditionFunc
uint32_t(* OutputGetActiveCountFunc)(void)
void OutputRegisterFileRotationFlag(int *flag)
Register a flag for file rotation notification.
void OutputNotifyFileRotation(void)
Notifies all registered file rotation notification flags.
int(* StatsLogger)(ThreadVars *, void *thread_data, const StatsTable *)
OutputInitResult(* OutputInitFunc)(ConfNode *)
void OutputLoggerExitPrintStats(ThreadVars *, void *)
void OutputRegisterTxSubModule(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
TmEcode(* ThreadDeinitFunc)(ThreadVars *, void *)
void OutputSetupActiveLoggers(void)