@ -1,4 +1,4 @@
/* Copyright (C) 2007-20 13 Open Information Security Foundation
/* Copyright (C) 2007-20 24 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 */