output-packet: rename register function and document

Rename OutputRegisterPacketLogger to SCOutputRegisterPacketLogger as
its part of the public API and document its parameters.

Comment on the other functions in the header that they are part of the
internal API.

Ticket: #7227
pull/11689/head
Jason Ish 1 year ago committed by Victor Julien
parent 8735c02995
commit 7b4271c309

@ -92,7 +92,7 @@ static TmEcode ThreadDeinit(ThreadVars *tv, void *data)
static void Init(void)
{
OutputRegisterPacketLogger(LOGGER_USER, "custom-packet-logger", CustomPacketLogger,
SCOutputRegisterPacketLogger(LOGGER_USER, "custom-packet-logger", CustomPacketLogger,
CustomPacketLoggerCondition, NULL, ThreadInit, ThreadDeinit);
OutputRegisterFlowLogger(
"custom-flow-logger", CustomFlowLogger, NULL, ThreadInit, ThreadDeinit);

@ -1,4 +1,4 @@
/* Copyright (C) 2007-2022 Open Information Security Foundation
/* Copyright (C) 2007-2024 Open Information Security Foundation
*
* You can copy, redistribute or modify this Program under the terms of
* the GNU General Public License version 2 as published by the Free
@ -52,7 +52,7 @@ typedef struct OutputPacketLogger_ {
static OutputPacketLogger *list = NULL;
int OutputRegisterPacketLogger(LoggerId logger_id, const char *name, PacketLogger LogFunc,
int SCOutputRegisterPacketLogger(LoggerId logger_id, const char *name, PacketLogger LogFunc,
PacketLogCondition ConditionFunc, void *initdata, ThreadInitFunc ThreadInit,
ThreadDeinitFunc ThreadDeinit)
{

@ -1,4 +1,4 @@
/* Copyright (C) 2007-2013 Open Information Security Foundation
/* Copyright (C) 2007-2024 Open Information Security Foundation
*
* You can copy, redistribute or modify this Program under the terms of
* the GNU General Public License version 2 as published by the Free
@ -29,19 +29,44 @@
#include "tm-threads.h"
#include "decode.h"
/** packet logger function pointer type */
/**
* \brief Packet logger function pointer type.
*/
typedef int (*PacketLogger)(ThreadVars *, void *thread_data, const Packet *);
/** packet logger condition function pointer type,
* must return true for packets that should be logged
/**
* \brief Packet logger condition function point type.
*
* Must return true for the packet to be passed onto the packet
* logger.
*/
typedef bool (*PacketLogCondition)(ThreadVars *, void *thread_data, const Packet *);
int OutputRegisterPacketLogger(LoggerId logger_id, const char *name, PacketLogger LogFunc,
/**
* \brief Register a packet logger.
*
* \param logger_id An ID used to distinguish this logger from others
* while profiling.
* \param name An informational name for this logger. Used only for
* debugging.
* \param LogFunc A function that will be called to log each packet
* that passes the condition test.
* \param ConditionFunc A function to test if the packet should be passed to
* the logging function.
* \param initdata Initialization data that will pass to the
* ThreadInitFunc.
* \param ThreadInitFunc Thread initialization function.
* \param ThreadDeinitFunc Thread de-initialization function.
*
* \retval 0 on success, -1 on failure.
*/
int SCOutputRegisterPacketLogger(LoggerId logger_id, const char *name, PacketLogger LogFunc,
PacketLogCondition ConditionFunc, void *initdata, ThreadInitFunc, ThreadDeinitFunc);
/** Internal function: private API. */
void OutputPacketLoggerRegister(void);
/** Internal function: private API. */
void OutputPacketShutdown(void);
#endif /* SURICATA_OUTPUT_PACKET_H */

@ -618,9 +618,8 @@ static void SetupOutput(
if (module->PacketLogFunc) {
SCLogDebug("%s is a packet logger", module->name);
OutputRegisterPacketLogger(module->logger_id, module->name,
module->PacketLogFunc, module->PacketConditionFunc, output_ctx,
module->ThreadInit, module->ThreadDeinit);
SCOutputRegisterPacketLogger(module->logger_id, module->name, module->PacketLogFunc,
module->PacketConditionFunc, output_ctx, module->ThreadInit, module->ThreadDeinit);
} else if (module->TxLogFunc) {
SCLogDebug("%s is a tx logger", module->name);
OutputRegisterTxLogger(module->logger_id, module->name, module->alproto,

Loading…
Cancel
Save