24#ifndef SURICATA_OUTPUT_JSON_H
25#define SURICATA_OUTPUT_JSON_H
37#define JSON_ADDR_LEN 46
38#define JSON_PROTO_LEN 16
56#define JSON_OUTPUT_BUFFER_SIZE 65535
93void EveFileInfo(SCJsonBuilder *js,
const File *file,
const uint64_t tx_id,
const uint16_t
flags);
void OutputJsonFlush(OutputJsonThreadCtx *ctx)
OutputInitResult OutputJsonInitCtx(SCConfNode *)
Create a new LogFileCtx for "fast" output style.
SCJsonBuilder * CreateEveHeader(const Packet *p, enum SCOutputJsonLogDirection dir, const char *event_type, JsonAddrInfo *addr, OutputJsonCtx *eve_ctx)
void EveTcpFlags(uint8_t flags, SCJsonBuilder *js)
jsonify tcp flags field Only add 'true' fields in an attempt to keep things reasonably compact.
int OutputJsonLogFlush(ThreadVars *tv, void *thread_data, const Packet *p)
void JsonAddrInfoInit(const Packet *p, enum SCOutputJsonLogDirection dir, JsonAddrInfo *addr)
OutputJsonThreadCtx * CreateEveThreadCtx(ThreadVars *t, OutputJsonCtx *ctx)
void EvePacket(const Packet *p, SCJsonBuilder *js, uint32_t max_length)
Jsonify a packet.
struct OutputJsonThreadCtx_ OutputJsonThreadCtx
struct OutputJsonCtx_ OutputJsonCtx
OutputInitResult OutputJsonLogInitSub(SCConfNode *conf, OutputCtx *parent_ctx)
int OutputJSONMemBufferCallback(const char *str, size_t size, void *data)
struct OutputJSONMemBufferWrapper_ OutputJSONMemBufferWrapper
const JsonAddrInfo json_addr_info_zero
void OutputJsonRegister(void)
void EveAddMetadata(const Packet *p, const Flow *f, SCJsonBuilder *js)
int OutputJSONBuffer(json_t *js, LogFileCtx *file_ctx, MemBuffer **buffer)
void EveFileInfo(SCJsonBuilder *js, const File *file, const uint64_t tx_id, const uint16_t flags)
TmEcode JsonLogThreadInit(ThreadVars *t, const void *initdata, void **data)
void JSONFormatAndAddMACAddr(SCJsonBuilder *js, const char *key, const uint8_t *val, bool is_array)
json_t * SCJsonString(const char *val)
TmEcode JsonLogThreadDeinit(ThreadVars *t, void *data)
struct JsonAddrInfo_ JsonAddrInfo
void FreeEveThreadCtx(OutputJsonThreadCtx *ctx)
void OutputJsonBuilderBuffer(ThreadVars *tv, const Packet *p, Flow *f, SCJsonBuilder *js, OutputJsonThreadCtx *ctx)
void CreateEveFlowId(SCJsonBuilder *js, const Flow *f)
struct OutputJsonCommonSettings_ OutputJsonCommonSettings
SCJsonBuilder * CreateEveHeaderWithTxId(const Packet *p, enum SCOutputJsonLogDirection dir, const char *event_type, JsonAddrInfo *addr, uint64_t tx_id, OutputJsonCtx *eve_ctx)
void EveAddCommonOptions(const OutputJsonCommonSettings *cfg, const Packet *p, const Flow *f, SCJsonBuilder *js, enum SCOutputJsonLogDirection dir)
char proto[JSON_PROTO_LEN]
char src_ip[JSON_ADDR_LEN]
char dst_ip[JSON_ADDR_LEN]
bool include_suricata_version
bool include_community_id
uint16_t community_id_seed
enum LogFileType json_out
OutputJsonCommonSettings cfg
Structure used to define an EVE output file type plugin.
Per thread variable structure.