Go to the documentation of this file.
41 if (eve_user_callbacks == NULL) {
42 eve_user_callbacks = cb;
45 while (current->
next != NULL) {
46 current = current->
next;
62 static bool IsBuiltinTypeName(
const char *name)
64 const char *builtin[] = {
71 for (
int i = 0;; i++) {
72 if (builtin[i] == NULL) {
75 if (strcmp(builtin[i], name) == 0) {
86 if (strcmp(name, plugin->
name) == 0) {
103 if (IsBuiltinTypeName(plugin->
name)) {
104 SCLogError(
"Eve file type name conflicts with built-in type: %s", plugin->
name);
111 if (strcmp(existing->
name, plugin->
name) == 0) {
112 SCLogError(
"Eve file type name conflicts with previously registered type: %s",
struct EveUserCallback_ EveUserCallback
void(* SCEveUserCallbackFn)(ThreadVars *tv, const Packet *p, Flow *f, JsonBuilder *jb, void *user)
Function type for EVE callbacks.
bool SCEveRegisterCallback(SCEveUserCallbackFn fn, void *user)
Register a callback for adding extra information to EVE logs.
const char * name
The name of the output, used in the configuration.
SCEveUserCallbackFn Callback
#define TAILQ_FOREACH(var, head, field)
#define TAILQ_INSERT_TAIL(head, elm, field)
#define TAILQ_HEAD_INITIALIZER(head)
Per thread variable structure.
bool SCRegisterEveFileType(SCEveFileType *plugin)
Register an Eve file type.
void SCEveRunCallbacks(ThreadVars *tv, const Packet *p, Flow *f, JsonBuilder *jb)
struct EveUserCallback_ * next
#define SCLogError(...)
Macro used to log ERROR messages.
#define TAILQ_HEAD(name, type)
SCEveFileType * SCEveFindFileType(const char *name)
Structure used to define an EVE output file type plugin.