Go to the documentation of this file.
52 #define MODULE_NAME "LogHttp2Log"
67 void *state = FlowGetAppState(f);
71 return rs_http2_log_json(tx, jb);
78 Flow *f,
void *state,
void *txptr, uint64_t tx_id)
91 jb_open_object(js,
"http");
92 if (!rs_http2_log_json(txptr, js)) {
102 static TmEcode JsonHttp2LogThreadInit(
ThreadVars *t,
const void *initdata,
void **data)
110 SCLogDebug(
"Error getting context for EveLogHTTP2. \"initdata\" argument NULL");
144 static void OutputHttp2LogDeinitSub(
OutputCtx *output_ctx)
168 output_ctx->
data = http2_ctx;
169 output_ctx->
DeInit = OutputHttp2LogDeinitSub;
173 result.
ctx = output_ctx;
182 OutputHttp2LogInitSub,
ALPROTO_HTTP2, JsonHttp2Logger, HTTP2StateClosed,
183 HTTP2StateClosed, JsonHttp2LogThreadInit, JsonHttp2LogThreadDeinit, NULL);
OutputJsonThreadCtx * ctx
void FreeEveThreadCtx(OutputJsonThreadCtx *ctx)
int OutputJsonBuilderBuffer(JsonBuilder *js, OutputJsonThreadCtx *ctx)
OutputJsonThreadCtx * CreateEveThreadCtx(ThreadVars *t, OutputJsonCtx *ctx)
struct JsonHttp2LogThread_ JsonHttp2LogThread
void OutputRegisterTxSubModuleWithProgress(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, int tc_log_progress, int ts_log_progress, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
void AppLayerParserRegisterLogger(uint8_t ipproto, AppProto alproto)
Per thread variable structure.
JsonBuilder * CreateEveHeaderWithTxId(const Packet *p, enum OutputJsonLogDirection dir, const char *event_type, JsonAddrInfo *addr, uint64_t tx_id, OutputJsonCtx *eve_ctx)
bool EveHTTP2AddMetadata(const Flow *f, uint64_t tx_id, JsonBuilder *jb)
void * AppLayerParserGetTx(uint8_t ipproto, AppProto alproto, void *alstate, uint64_t tx_id)
void(* DeInit)(struct OutputCtx_ *)
OutputHttp2Ctx * http2log_ctx
void JsonHttp2LogRegister(void)
struct OutputHttp2Ctx_ OutputHttp2Ctx