32#ifndef DETERMINISTICESPASYNCWEBSERVER_AUDIT_LOG_H
33#define DETERMINISTICESPASYNCWEBSERVER_AUDIT_LOG_H
39#if DETWS_ENABLE_AUDIT_LOG
42#define DETWS_AUDIT_HASH_LEN 32
45enum class DetwsAuditCat : uint8_t
47 DETWS_AUDIT_SYSTEM = 0,
49 DETWS_AUDIT_AUTH_FAIL = 2,
50 DETWS_AUDIT_ACCESS = 3,
51 DETWS_AUDIT_CONFIG = 4,
52 DETWS_AUDIT_ADMIN = 5,
60 DetwsAuditCat category;
61 char msg[DETWS_AUDIT_MSG_LEN];
62 uint8_t hash[DETWS_AUDIT_HASH_LEN];
66typedef void (*detws_audit_sink_fn)(
const DetwsAuditEntry *entry);
69void detws_audit_reset(
void);
77void detws_audit_set_sink(detws_audit_sink_fn sink);
86uint32_t detws_audit_append(DetwsAuditCat category,
const char *msg);
89uint16_t detws_audit_count(
void);
92const DetwsAuditEntry *detws_audit_at(uint16_t i);
101bool detws_audit_verify(uint32_t *first_broken_seq);
104const char *detws_audit_cat_name(DetwsAuditCat category);
110int detws_audit_format(
const DetwsAuditEntry *entry,
char *out,
size_t cap);
120int detws_audit_dump_json(
char *out,
size_t cap);
User-facing configuration for DeterministicESPAsyncWebServer.