suricata
output-packet.h
Go to the documentation of this file.
1
/* Copyright (C) 2007-2024 Open Information Security Foundation
2
*
3
* You can copy, redistribute or modify this Program under the terms of
4
* the GNU General Public License version 2 as published by the Free
5
* Software Foundation.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* version 2 along with this program; if not, write to the Free Software
14
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15
* 02110-1301, USA.
16
*/
17
18
/**
19
* \file
20
*
21
* \author Victor Julien <victor@inliniac.net>
22
*
23
* Packet Logger Output registration functions
24
*/
25
26
#ifndef SURICATA_OUTPUT_PACKET_H
27
#define SURICATA_OUTPUT_PACKET_H
28
29
#include "
tm-threads.h
"
30
#include "
decode.h
"
31
32
/**
33
* \brief Packet logger function pointer type.
34
*/
35
typedef
int (*
PacketLogger
)(
ThreadVars
*,
void
*thread_data,
const
Packet
*);
36
37
/**
38
* \brief Packet logger condition function point type.
39
*
40
* Must return true for the packet to be passed onto the packet
41
* logger.
42
*/
43
typedef
bool (*
PacketLogCondition
)(
ThreadVars
*,
void
*thread_data,
const
Packet
*);
44
45
/** \brief Register a packet logger.
46
*
47
* \param logger_id An ID used to distinguish this logger from others
48
* while profiling.
49
* \param name An informational name for this logger. Used only for
50
* debugging.
51
* \param LogFunc A function that will be called to log each packet
52
* that passes the condition test.
53
* \param ConditionFunc A function to test if the packet should be passed to
54
* the logging function.
55
* \param initdata Initialization data that will pass to the
56
* ThreadInitFunc.
57
* \param ThreadInitFunc Thread initialization function.
58
* \param ThreadDeinitFunc Thread de-initialization function.
59
*
60
* \retval 0 on success, -1 on failure.
61
*/
62
int
SCOutputRegisterPacketLogger
(
LoggerId
logger_id
,
const
char
*
name
,
PacketLogger
LogFunc
,
63
PacketLogCondition
ConditionFunc
,
void
*
initdata
,
ThreadInitFunc
,
ThreadDeinitFunc
);
64
65
/** Internal function: private API. */
66
void
OutputPacketLoggerRegister
(
void
);
67
68
/** Internal function: private API. */
69
void
OutputPacketShutdown
(
void
);
70
71
#endif
/* SURICATA_OUTPUT_PACKET_H */
tm-threads.h
OutputPacketLoggerRegister
void OutputPacketLoggerRegister(void)
Definition:
output-packet.c:194
OutputPacketShutdown
void OutputPacketShutdown(void)
Definition:
output-packet.c:200
LoggerId
LoggerId
Definition:
suricata-common.h:460
PacketLogger
int(* PacketLogger)(ThreadVars *, void *thread_data, const Packet *)
Packet logger function pointer type.
Definition:
output-packet.h:35
SCOutputRegisterPacketLogger
int SCOutputRegisterPacketLogger(LoggerId logger_id, const char *name, PacketLogger LogFunc, PacketLogCondition ConditionFunc, void *initdata, ThreadInitFunc, ThreadDeinitFunc)
Register a packet logger.
Definition:
output-packet.c:55
decode.h
OutputPacketLogger_::initdata
void * initdata
Definition:
output-packet.c:45
ThreadVars_
Per thread variable structure.
Definition:
threadvars.h:58
ThreadInitFunc
TmEcode(* ThreadInitFunc)(ThreadVars *, const void *, void **)
Definition:
tm-modules.h:39
OutputPacketLogger_::ConditionFunc
PacketLogCondition ConditionFunc
Definition:
output-packet.c:43
Packet_
Definition:
decode.h:473
OutputPacketLogger_::name
const char * name
Definition:
output-packet.c:47
PacketLogCondition
bool(* PacketLogCondition)(ThreadVars *, void *thread_data, const Packet *)
Packet logger condition function point type.
Definition:
output-packet.h:43
OutputPacketLogger_::LogFunc
PacketLogger LogFunc
Definition:
output-packet.c:42
ThreadDeinitFunc
TmEcode(* ThreadDeinitFunc)(ThreadVars *, void *)
Definition:
tm-modules.h:40
OutputPacketLogger_::logger_id
LoggerId logger_id
Definition:
output-packet.c:48
src
output-packet.h
Generated on Sat Nov 16 2024 23:30:36 for suricata by
1.8.18