From: Jason Ish Date: Tue, 27 Aug 2024 22:33:58 +0000 (-0600) Subject: output-packet: rename register function and document X-Git-Tag: suricata-8.0.0-beta1~920 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b4271c3098c31ae0051cd5b1df0a5fe738409ca;p=thirdparty%2Fsuricata.git 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 --- diff --git a/examples/plugins/c-custom-loggers/custom-logger.c b/examples/plugins/c-custom-loggers/custom-logger.c index 59c2077c0f..ba4274639d 100644 --- a/examples/plugins/c-custom-loggers/custom-logger.c +++ b/examples/plugins/c-custom-loggers/custom-logger.c @@ -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); diff --git a/src/output-packet.c b/src/output-packet.c index 9576e61153..14dabe7c69 100644 --- a/src/output-packet.c +++ b/src/output-packet.c @@ -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) { diff --git a/src/output-packet.h b/src/output-packet.h index 03cf2ee3f5..4d7309d7f2 100644 --- a/src/output-packet.h +++ b/src/output-packet.h @@ -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 */ diff --git a/src/runmodes.c b/src/runmodes.c index 362555603d..e2d88bfbb4 100644 --- a/src/runmodes.c +++ b/src/runmodes.c @@ -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,