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);
-/* 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
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)
{
-/* 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
#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 */
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,